常见的几种负载均衡算法

常见的几种负载均衡算法

常用的负载均衡算法有轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接数法。

轮询法

轮询法,将请求按照顺序轮询的分配到服务器上,均衡的对待每个服务器,不关心服务器的连接数和负载情况。

轮询法的目的在于均衡,但是后台服务器并不是完全一样的,有的性能高有的性能低,性能高的就不能正真发挥作用。

随机法

根据服务器列表的大小随机获取一台来访问,随着调用量增大,实际效果会接近轮询法。

源地址哈希法

获取客户端的ip,然后通过hash函数计算出一个hash值,用该hash值对服务器列表的大小进行取模运算,该值就是要访问的服务器的序列号。

好处是在服务器列表不变的情况下,每次客户端访问的服务器都是同一个服务器,利用这个特性可以有状态的session会话,无需额外的操作就能实现粘粘会话。

加权轮询法

是对轮询法的一个改进,就是根据服务器的性能不同,给每个服务器配置一个权重,根据权重进行轮询,让每个服务器的性能最大化的发挥。

加权随机法

和加权轮询法一样,随机的时候,根据服务器的性能有一个随机的权重。

最小连接数法

实际上,请求次数的均衡并不代表负载的均衡。因此我们需要介绍最小连接数法,最小连接数法比较灵活和智能,由于后台服务器的配置不尽相同,对请求的处理有快有慢,它正是根据后端服务器当前的连接情况,动态的选取其中当前积压连接数最少的一台服务器来处理当前请求,尽可能的提高后台服务器利用率,将负载合理的分流到每一台服务器。

你可能感兴趣的:(负载均衡,算法,服务器)