LVS 调度算法

负载均衡调度算法
1 轮询 Round Robin 简称 rr
将客户端请求平均分发到real server

2加权轮询 weighted round robin 简称 wrr
根据real server 的性能设置权重,在进行轮询调度

3最少连接 Least Connections 简称 lc
动态的将网络请求调度到已经建立的连接数最少的服务器

4加权最少连接 Weighted least connections 简称 wlc
根据real server的性能设置权重,在将网络请求调度到已建立的连接数最少的服务器上

5基于局部性的最少连接 locality-based least connections 简称 lblc
算法是针对请求报文的目标IP地址的 负载均衡调度,目前主要用于Cache集群系统,因为在Cache集群客户请求报文的目标IP地址是变化的。这里假设任何后端服务器都可以处理任一请求,算法的设计目标是在服务器的负载基本平衡情况下,将相同目标IP地址的请求调度到同一台服务器,来提高各台服务器的访问局部性和Cache命中率,从而提升整个集群系统的处理能力。LBLC调度算法先根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则使用’最少连接’的原则选出一个可用的服务器,将请求发送到服务器。

6带复制的基于局部性最少连接 简称 lblcr
是针对目标IP地址的负载均衡,目前主要用于Cache集群系统,它与LBLC算法不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。按’最小连接’原则从该服务器组中选出一一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按’最小连接’原则从整个集群中选出一台服务器,将该服务器加入到这个服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。

7目标地址散列 简称 dh
算法先根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且并未超载,将请求发送到该服务器,否则返回空

8原地址散列 简称 sh
根据请求的源IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是可用的且并未超载,将请求发送到该服务器,否则返回空。它采用的散列函数与目标地址散列调度算法的相同,它的算法流程与目标地址散列调度算法的基本相似

9最短的期望延迟 sed
算法基于WLC算法。举个例子吧,ABC三台服务器的权重分别为1、2、3 。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用SED算法后会进行一个运算
A:(1+1)/1=2? ?B:(1+2)/2=3/2? ?C:(1+3)/3=4/3? ?就把请求交给得出运算结果最小的服务器

10 最少队列调度 简称 nq
无需队列。如果有realserver的连接数等于0就直接分配过去,不需要在进行SED运算

猜你喜欢

转载自blog.csdn.net/bjgaocp/article/details/88402798