万万级流量架构下的负载平衡理会
副问题[/!--empirenews.page--]
一、负载平衡集群中的应用处事器(节点)凡是被计划成无状态,用户可以哀求任何一个节点。 负载平衡器会按照集群中每个节点的负载环境,将用户哀求转发到吻合的节点上。 负载平衡器可以用来实现高可用以及伸缩性:
负载平衡器运行进程包括两个部门:
负载平衡算法 1. 轮询(Round Robin) 轮询算法把每个哀求轮番发送到每个处事器上。 下图中,一共有 6 个客户端发生了 6 个哀求,这 6 个哀求按 (1, 2, 3, 4, 5, 6) 的次序发送。(1, 3, 5) 的哀求会被发送随处事器 1,(2, 4, 6) 的哀求会被发送随处事器 2。 该算法较量得当每个处事器的机能差不多的场景,假若有机能存在差此外环境下,那么机能较差的处事器也许无法包袱过大的负载(下图的 Server 2)。 2. 加权轮询(Weighted Round Robbin) 加权轮询是在轮询的基本上,按照处事器的机能差别,为处事器赋予必然的权值,机能高的处事器分派更高的权值。 譬喻下图中,处事器 1 被赋予的权值为 5,处事器 2 被赋予的权值为 1,那么 (1, 2, 3, 4, 5) 哀求会被发送随处事器 1,(6) 哀求会被发送随处事器 2。 3. 起码毗连(least Connections) 因为每个哀求的毗连时刻纷歧样,行使轮询可能加权轮询算法的话,也许会让一台处事器当前毗连数过大,而另一台处事器的毗连过小,造成负载不平衡。 譬喻下图中,(1, 3, 5) 哀求会被发送随处事器 1,可是 (1, 3) 很快就断开毗连,此时只有 (5) 哀求毗连处事器 1;(2, 4, 6) 哀求被发送随处事器 2,只有 (2) 的毗连断开,此时 (6, 4) 哀求毗连处事器 2。该体系继承运行时,处事器 2 会包袱过大的负载。 起码毗连算法就是将哀求发送给当前起码毗连数的处事器上。 譬喻下图中,处事器 1 当前毗连数最小,那么新到来的哀求 6 就会被发送随处事器 1 上。 4. 加权起码毗连(Weighted Least Connection) 在起码毗连的基本上,按照处事器的机能为每台处事器分派权重,再按照权重计较出每台处事器能处理赏罚的毗连数。 5. 随机算法(Random) 把哀求随机发送随处事器上。 和轮询算法相同,该算法较量得当处事器机能差不多的场景。 6. 源地点哈希法 (IP Hash) 源地点哈希通过对客户端 IP 计较哈希值之后,再对处事器数目取模获得方针处事器的序号。 可以担保统一 IP 的客户端的哀求会转发到统一台处事器上,用来实现会话粘滞(Sticky Session) 转发实现 1. HTTP 重定向 HTTP 重定向负载平衡处事器行使某种负载平衡算法计较得随处事器的 IP 地点之后,将该地点写入 HTTP 重定向报文中,状态码为 302。客户端收到重定向报文之后,必要从头向处事器提倡哀求。 弱点:
该负载平衡转发的弱点较量明明,现实场景中很少行使它。 2. DNS 域名理会 在 DNS 理会域名的同时行使负载平衡算法计较处事器 IP 地点。 利益:
弱点:
大型网站根基行使了 DNS 做为第一级负载平衡本领,然后在内部行使其余方法做第二级负载平衡。也就是说,域名理会的功效为内部的负载平衡处事器 IP 地点。 3. 反向署理处事器 反向署理处事器位于源处事器前面,用户的哀求必要先颠末反向署理处事器才气达到源处事器。反向署理可以用来举办缓存、日记记录等,同时也可以用来做为负载平衡处事器。 在这种负载平衡转发方法下,客户端不直接哀求源处事器,因此源处事器不必要外部 IP 地点,而反向署理必要设置内部和外部两套 IP 地点。 利益:
弱点:
4. 收集层 在操纵体系内核历程获取收集数据包,按照负载平衡算法计较源处事器的 IP 地点,并修改哀求数据包的目标 IP 地点,最后举办转发。 源处事器返回的相应也必要颠末负载平衡处事器,凡是是让负载平衡处事器同时作为集群的网关处事器来实现。 利益:
弱点:
5. 链路层 在链路层按照负载平衡算法计较源处事器的 MAC 地点,并修改哀求数据包的目标 MAC 地点,并举办转发。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |