关于负载均衡:5大负载均衡算法-原理图解

6次阅读

共计 1011 个字符,预计需要花费 3 分钟才能阅读完成。

负载平衡 ,是 分布式架构 的必备技术,也是 进阶的 必学技术,须要重点把握。

本文我会重点详解负载平衡的 5 大外围算法 @mikechen

咱们先来看一张典型的 集群和负载平衡架构图

当一台机器不能接受拜访压力时,咱们大多会通过横向减少两台、或者多台服务器,来独特承当拜访压力,来极大的升高后端的拜访压力,晋升用户的拜访性能。

然而,从一台扩大到多台服务器后,如何将客户端的流量、散发到具体的服务器呢?是通过服务器 1、还是服务器 3?

这就波及到了具体的 负载平衡算法

目录

  • 1.  轮循
  • 2.  加权轮循
  • 3.  随机
  • 4.  起码连贯
  • 5.  源地址散列

1.  轮循

轮询很容易实现,将申请按程序轮流调配到后盾服务器上,平衡的看待每一台服务器,而不关怀服务器理论的连接数和以后的零碎负载。
适宜场景:适宜于应用服务器硬件都雷同的状况。

2.  加权轮循

在轮询的根底上依据硬件配置不同,按权重散发到不同的服务器。
适宜场景:跟配置高、负载低的机器调配更高的权重,使其能解决更多的申请,而性能低、负载高的机器,配置较低的权重,让其解决较少的申请。

3.  随机

通过零碎随机函数,依据后盾服务器列表的大小值来随机选取其中一台进行拜访。

随着调用量的增大,客户端的申请能够被平均地分派到所有的后端服务器上,其实际效果越来越靠近于平均分配流量到后盾的每一台服务器,也就是轮询法的成果。

4.  起码连贯

记录每个服务器正在解决的申请数,把新的申请散发到起码连贯的服务器上,因为要保护外部状态不举荐。

5.  源地址散列

依据服务消费者申请客户端的 IP 地址,通过哈希函数计算失去一个哈希值,将此哈希值和服务器列表的大小进行取模运算,失去的后果便是要拜访的服务器地址的序号。

适宜场景:依据申请的起源 IP 进行 hash 计算,同一 IP 地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行拜访。

以上,是 5 大负载平衡算法及其原理的 解析,对把握及应用负载平衡,具备肯定的参考价值,倡议珍藏、常常温顾。

如果感觉有用,请 点赞 转发 反对下,谢谢。

作者简介

陈睿 | mikechen , 10 年 + 大厂架构教训,「mikechen 的互联网架构」系列文章作者,专一互联网架构技术。

「mikechen 的互联网架构」的 40W 字技术文章合集:
Java 并发 | JVM | MySQL | Spring | Redis | 分布式 | 高并发

👇 关注「mikechen 的互联网架构」公众号 👇,回复【架构】,即可取得。

正文完
 0