rr:同样分发工作之一实际可用的服务器
wrr:加权循环:异构服务器,服务的分配比例,以真正的服务器有'实际服务器的重量。
   权重较高的服务器获得新的就业机会先在低体重比服务器更多的就业机会。与同等重量服务器获得新的就业机会平等分配。
lc:最小连接:分配更多的就业机会,以积极的就业机会较少的实际服务器
wlc:加权最小连接:分配更多的就业机会较少的工作和相对的实际重量服务器服务器。这是默认  (节点数/权重数)=连接数:权重数越大连接数越小。
lc:256*A+I=当前连接数  wlc:(256*A+I)/W=当前连接数   【A:活动连接数  I:非活动连接数W:权重值】
lblc:基于局部性的最小连接:用于web缓存服务器,分配同一IP地址在同一台服务器发往服务器的工作,如果不超载和可用,否则安排工作机会更少的服务器,并保持今后转让手续。
lblcr:基于局部性的最少与复制连接:用于web缓存服务器,分配同一IP地址在IP地址设置服务器最低连接节点注定工作。如果所有在服务器上设置节点超过加载,它会选择一个群集中的工作机会更少的节点,并增加了在切断了它的既定目标。如果在服务器上设置并没有被指定的时间修改,最加载节点从服务器中删除设置,以避免复制的高度。
dh:目标地址散列:分配工作的服务器,通过查找他们的目的地IP地址的静态分配的hash表
sh:源地址散列:分配工作的服务器,通过查找他们的源IP地址的静态分配的hash表
sed:最短预期延时:指定一个传入工作的服务器,预计用最短的延迟。预期延迟,这项工作将经验(次+ 1)/韦如果发送到第i个服务器,其中词是职位上的第i服务器的数量和用户界面是固定的服务率(重量i个服务器)
nq:永不队列:传入的工作分配到空闲的服务器如果有,而不是一个快速的一个等待,如果所有的服务器都忙,就采用了最短的预期延迟策略指派工作

 

=========================华丽的分割线=========================
Director在接收到来自于Client的请求时,会基于"schedule"从RealServer中选择一个响应给Client。
ipvs支持以下调度算法:(1、2为静态调度算法,3、4、5、6、7、8为动态调度算法)
 
1、轮询(round robin, rr),加权轮询(Weighted round robin, wrr)——
新的连接请求被轮流分配至各RealServer;算法的优点是其简洁性,它无需记录当前所有连接的状态,
所以它是一种无状态调度。轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度。
该算法相对简单,不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,
轮叫调度算法容易导致服务器间的负载不平衡。
 
2、目标地址散列调度(Destination Hashing,dh)
算 法也是针对目标IP地址的负载均衡,但它是一种静态映射算法,
通过一个散列(Hash)函数将一个目标IP地址映射到一台服务器。
目标地址散列调度算法先 根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,
若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
 
3、源地址散列调度(Source Hashing,sh)
算 法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。它采用的散列函数与目标地址散列调度算法 的相同。除了将请求的目标IP地址换成请求的源IP地址外,它的算法流程与目标地址散列调度算法的基本相似。在实际应用中,源地址散列调度和目标地址散列 调度可以结合使用在防火墙集群中,它们可以保证整个系统的唯一出入口。
 
4、最少连接(least connected, lc), 加权最少连接(weighted least connection, wlc)——新的连接请求将被分配至当前连接数最少的RealServer;最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减一。
lc:256*A+I=当前连接数  wlc:(256*A+I)/W=当前连接数   【A:活动连接数  I:非活动连接数W:权重值】
 
5、基于局部性的最少链接调度(Locality-Based Least Connections Scheduling,lblc)——针对请求报文的目标IP地址的负载均衡调度,目前主要用于Cache集群系统,因为在Cache集群中客户请求报文的目标IP地址是变化的。这里假设任何后端服务器都可以处理任一请求,算法的设计目标是在服务器的负载基本平衡情况下,将相同目标IP地址的请求调度到同一台服务器,来提高各台服务器的访问局部性和主存Cache命中率,从而整个集群系统的处理能力。LBLC调度算法先根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于其一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求发送到该服务器。
 
6、带复制的基于局部性最少链接调度(Locality-Based Least Connections with Replication Scheduling,lblcr)——也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。对于一个“热门”站点的服务请求,一台Cache 服务器可能会忙不过来处理这些请求。这时,LBLC调度算法会从所有的Cache服务器中按“最小连接”原则选出一台Cache服务器,映射该“热门”站点到这台Cache服务器,很快这台Cache服务器也会超载,就会重复上述过程选出新的Cache服务器。这样,可能会导致该“热门”站点的映像会出现在所有的Cache服务器上,降低了Cache服务器的使用效率。LBLCR调度算法将“热门”站点映射到一组Cache服务器(服务器集合),当该“热门”站点的请求负载增加时,会增加集合里的Cache服务器,来处理不断增长的负载;当该“热门”站点的请求负载降低时,会减少集合里的Cache服务器数目。这样,该“热门”站点的映像不太可能出现在所有的Cache服务器上,从而提供Cache集群系统的使用效率。LBLCR算法先根据请求的目标IP地址找出该目标IP地址对应的服务器组;按“最小连接”原则从该服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载;则按“最小连接”原则从整个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
 
7、 最短的期望的延迟(Shortest Expected Delay Scheduling ,sed)
sed: (A+1)/w=当前连接数
 
8、最少队列调度(Never Queue Scheduling ,nq)无需队列。如果有台realserver的连接数=0就直接分配过去,不需要在进行sed运算