LVS调度算法

来源:互联网 发布:jsp页面调用java方法 编辑:程序博客网 时间:2024/05/20 15:59
算法
说明
rr 轮询调度(Round-Robin)
它将请求一次分配不同的RS,也就是在RS中均摊请求,算法简单,但是只适合于RS处理性能相差不大的情况(多个服务器硬件配置差不多)
wrr加权轮询调度(Weighted Round-Robin)
它根据RS不同的权值分配任务,权值高的RS优先获得请求,分配到的连接数将比权值低的RS更多,权值相同的RS得到的连接数数目相同
wlc加权最小连接数调度(Weighted Least-Comnection) (WLC)
具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
假设各台RS的权值一次为Wi(l = 1..n),当前的TCP连接数依次为Ti(l=1..n)一次选取Wi/Ti为最小的RS作为下一个分配的RS
dh 目的地址哈希调度(Destination Hashing)
以目的地址为关键字查找一个静态hash表来获得需要的RS
sh 源地址哈希调度(Source Hashing)
以源地址作为关键字查找一个静态hash表来获取需要的RS
LBLC 基于局部性的最少链接(Locality-Based Least Connections)
针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接” 的原则选出一个可用的服务器,将请求发送到该服务器。
LBLCR 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)
也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标 IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
DH 目标地址散列(Destination Hashing)
根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
SH 源地址散列(Source Hashing)
根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
SED 最短的期望的延迟(Shortest Expected Delay Scheduling SED)
基于wlc算法
ABC三台机器分别权重123 ,连接数也分别是123。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用sed算法后会进行这样一个运算
A(1+1)/1
B(1+2)/2
C(1+3)/3
根据运算结果,把连接交给C 。
NQ 最少队列调度(Never Queue Scheduling NQ)
无需队列。如果有台 realserver的连接数=0就直接分配过去,不需要在进行sed运算

原创粉丝点击