从0到1,Java Web网站架构搭建的技能演进
02、漫衍式 Session 各人都知道,处事一样平常分为有状态和无状态,而漫衍式 Session 就是针对有状态的处事。 漫衍式 Session 的几种实现方法:
漫衍式 Session 的几种打点方法:
今朝出产中行使到的:
03、负载平衡计策 负载平衡计策的是非及着实现的难易水平有两个要害身分:负载平衡算法,对收集体系状况的检测方法和手段。 rr 轮询调治算法 顾名思义,轮询分发哀求。利益是实现简朴,弱点是不思量每台处事器的处理赏罚手段。 wrr 加权调治算法 我们给每个处事器配置权值 weight,负载平衡调治器按照权值调治处事器,处事器被挪用的次数跟权值成正比。利益是思量了处事器处理赏罚手段的差异。 sh 原地点散列 提取用户 IP,按照散列函数得出一个 key,再按照静态映射表,查出对应的 value,即方针处事器 IP。一单方针呆板超负荷,则返回空。 dh 方针地点散列 同上,只是此刻提取的是方针地点的 IP 来做哈希。利益是以上两种算法都能实现统一个用户会见统一个处事器。 lc 起码毗连 优先把哀求转发给毗连数少的处事器。利益是使得集群中各个处事器的负载越发匀称。 wlc 加权起码毗连 在 lc 的基本上,为每台处事器加上权值。算法为:(勾当毗连数*256+非勾当毗连数)÷权重 ,计较出来的值小的处事器优先被选择。利益是可以按照处事器的手段分派哀求。 sed 最短祈望耽误 sed 跟 wlc 相同,区别是不思量非勾当毗连数。算法为:(勾当毗连数+1)*256÷权重,同样计较出来的值小的处事器优先被选择。 nq 永不列队 改造的 sed 算法,我们想一下什么环境下才气“永不列队”,那就是处事器的毗连数为 0 的时辰,那么若是有处事器毗连数为 0,平衡器直接把哀求转发给它,无需颠末 sed 的计较。 LBLC 基于局部性的起码毗连 平衡器按照哀求的目标 IP 地点,找出该 IP 地点最近被行使的处事器,把哀求转发之,若该处事器超载,则回收起码毗连数算法。 LBLCR 带复制的基于局部性的起码毗连 平衡器按照哀求的目标 IP 地点,找出该 IP 地点最近行使的“处事器组”,留意,这里不是详细某个处事器,然后回收起码毗连数算法,从该组中挑出详细的某台处事器出来,把哀求转发之。 若该处事器超载,那么按照起码毗连数算法,从在集群的非本处事器组的处事器中,找出一台处事器出来,插手本处事器组,然后把哀求转发之。 读写疏散 MySQL 主从设置,读写疏散并引入中间件,开源的 MyCat,阿里的 DRDS 都是不错的选择。 假如是对高可用要求较量高,可是又没有响应的技能保障,提议行使阿里云的 RDS 可能 Redis 相干数据库,省事省力又省钱。 全文检索 假若有搜刮营业需求,引入 solr 可能 elasticsearch 也是一个不错的选择,不要什么都塞进相关型数据库。 缓存优化 引入缓存无非是为了减轻后端数据库处事的压力,防备其"停工"。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |