负载均衡策略详解(6种负载均衡策略)

负载均衡策略详解(6种负载均衡策略)-mikechen

一台机器不能满足,则增加两台或者多台机器,共同承担访问压力,这就是典型的集群和负载均衡架构。

如下图所示:
负载均衡策略详解(6种负载均衡策略)-mikechen

上面的的客户端访问,需要通过负载均衡采用分发到不用的应用服务器上,这里就会涉及到负载均衡策略。

常见的负载均衡策略,主要包含如下策略:

1.轮询(Round Robin)

按照顺序将请求依次分配给每个服务器,确保每个服务器都能平均分担负载。

如下图所示:

负载均衡策略详解(6种负载均衡策略)-mikechen

适用于服务器性能相似,无需考虑服务器当前负载情况的情况。

 

2.IP 哈希(IP Hash)

根据客户端的 IP 地址将请求分配给服务器,这会通过哈希函数来分配应用服务器。

如下图所示:

负载均衡策略详解(6种负载均衡策略)-mikechen

相同 IP 的客户端将始终被分配到同一台服务器上,当后端服务器列表不变时,这对于某些需要保持会话的应用程序很有用。

 

3.加权轮询(Weighted Round Robin)

为每个服务器分配一个权重值,根据权重值决定分配请求的比例,权重越高的服务器分配到的请求数量就越多。

如下图所示:

负载均衡策略详解(6种负载均衡策略)-mikechen

4.最少连接(Least Connection)

将请求分配给当前连接数最少的服务器,以确保每个服务器的负载尽可能平衡。

如下图所示:

负载均衡策略详解(6种负载均衡策略)-mikechen

适用于请求处理时间不同,负载可能不均衡的情况。

 

5.随机策略

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

如下图所示:

负载均衡策略详解(6种负载均衡策略)-mikechen

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

 

6.加权最少连接(Weighted Least Connection)

结合了加权和最少连接策略,服务器的权重值与当前连接数成反比,连接数越少且权重越高的服务器将获得更多的请求。

陈睿mikechen

十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法