LVS十种调度算法
LVS十种调度算法
1)RR、2)WRR、3)LC、4)WLC、5)SH、6)DH、7)LBLC、8)LBLCR、9)SED、10)NQ
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.源地址散列(Source Hashing)SH:根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器。
6.目标地址散列调度(Destination Hashing ) DH:与SH相反的是,DH根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器。
7.基于局部性的最少链接(Locality-Based Least Connections)LBLC:主要是针对请求报文的目标IP地址的负载均衡调度,目前主要使用Cache集群系统。LBLC调度算法先根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器时可以用的且没有超载,将请求发送到该服务器,若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则使用“LC最少连接”的原则选出一个可用的服务器,将请求发送到服务器。
8.带复制的基于局部性的最少连接(Locality-Based Least Connections with Replication)LBLCR:算法也是针对目标IP地址的负载均衡,目前也主要用于Cache集群系统。它与LBLC算法不通之处时它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。
9.最短的期望的延迟调度(Shortest Expected Delay) SED:SED基于WLC算法,将请求以最短的期望的延迟方式到服务器,计算当前realserver 的负载情况计算方法:(active+1)*256/weight=overhead。
10.最少队列调度(Never Queue)NQ:如果realserver的连接数等于0就直接分配到该服务器,但是此服务器并不一定是最快的那台,如果所有服务器都是繁忙状态,它采取最短的期望延迟分配请求。