快捷搜索:  汽车  科技

负载均衡算法可以分为哪几类(5大负载均衡算法)

负载均衡算法可以分为哪几类(5大负载均衡算法)适合场景:跟配置高、负载低的机器分配更高的权重,使其能处理更多的请求,而性能低、负载高的机器,配置较低的权重,让其处理较少的请求。在轮询的基础上根据硬件配置不同,按权重分发到不同的服务器。下面我重点详解负载均衡的5大核心算法@mikechen轮询很容易实现,将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。适合场景:适合于应用服务器硬件都相同的情况。

负载均衡算法可以分为哪几类(5大负载均衡算法)(1)

负载均衡属于分布式架构的必备技术,也是进阶道路的必学技术,需要重点掌握@mikechen

下图是典型的集群和负载均衡架构图

负载均衡算法可以分为哪几类(5大负载均衡算法)(2)

如果一台机器不能承受访问压力,我们很多时候会横向增加两台或者多台服务器,共同承担访问压力,这样可以极大的降低后端的访问压力,提升用户的访问性能。


但是,从一台扩展到多台后,如何把客户端的流量分发到具体的服务器呢?是服务器1、还是服务器3,这里就会涉及到具体的负载均衡算法。


下面我重点详解负载均衡的5大核心算法@mikechen

负载均衡算法可以分为哪几类(5大负载均衡算法)(3)

1.轮循

负载均衡算法可以分为哪几类(5大负载均衡算法)(4)

轮询很容易实现,将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

适合场景:适合于应用服务器硬件都相同的情况。

2.加权轮循

负载均衡算法可以分为哪几类(5大负载均衡算法)(5)


在轮询的基础上根据硬件配置不同,按权重分发到不同的服务器。

适合场景:跟配置高、负载低的机器分配更高的权重,使其能处理更多的请求,而性能低、负载高的机器,配置较低的权重,让其处理较少的请求。

3.随机

负载均衡算法可以分为哪几类(5大负载均衡算法)(6)


通过系统随机函数,根据后台服务器列表的大小值来随机选取其中一台进行访问。

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

4.最少连接

负载均衡算法可以分为哪几类(5大负载均衡算法)(7)


记录每个服务器正在处理的请求数,把新的请求分发到最少连接的服务器上,因为要维护内部状态不推荐。

5.源地址散列

负载均衡算法可以分为哪几类(5大负载均衡算法)(8)


根据服务消费者请求客户端的IP地址,通过哈希函数计算得到一个哈希值,将此哈希值和服务器列表的大小进行取模运算,得到的结果便是要访问的服务器地址的序号。

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

以上!

阅读更多架构技术合集

负载均衡算法可以分为哪几类(5大负载均衡算法)(9)

负载均衡算法可以分为哪几类(5大负载均衡算法)(10)

作者:陈睿|mikechen mikechen的互联网架构作者

本文由 @mikechen 原创发布于mikechen的互联网架构,未经许可,禁止转载。

猜您喜欢: