您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

负载均衡的5种算法,你了解几种?

发表于:2019-12-26 作者:正经程序猿90 来源:今日头条

我们平常使用的F5,LVS,HAproxy,nginx等负载均衡软件或设备,不管是基于硬件负载,还是基于软件的负载,其负载均衡的算法都是一样的。主要有以下几种:

一、轮询( Round Robin,RR )

所有请求被依次分发到每台应用服务器上,即每台服务器需要处理的请求数目都相同,适合于所有服务器硬件都相同的场景。

负载均衡的5种算法,你了解几种?

二、加权轮询( Weighted Round Robin, WRR)

根据应用服务器硬件性能的情况,在轮询的基础上,按照配置的权重将请求分发到每个服务器,高性能的服务器能分配更多请求。

负载均衡的5种算法,你了解几种?

三、随机( Random )

请求被随机分配到各个应用服务器,在许多场合下,这种方案都很简单实用,因为好的随机数本身就很均衡。即使应用服务器硬件配置不同,也可以使用加权随机算法。

四、最少连接(Least Connections)

记录每个应用服务器正在处理的连接数(请求数),将新到的请求分发到最少连接的服务器上,应该说,这是很符合负载均衡定义的算法。同样,最少连接算法也可以实现加权最少连接。

五、源地址散列( Source Hashing )

根据请求来源的IP地址进行Hash计算,得到应用服务器,这样来自同一个IP地址的请求总在同一个服务器上处理,该请求的上下文信息可以存储在这台服务器上,在一个会话周期内重复使用,从而实现会话黏滞。