LVS调度算法详解2014-04-10 51cto 崔明坤lvs调度方法总的分为两大类:1.静态调度方法2.动态调度方法静态调度方法又分为:(1).Round-Robin : 轮叫,简称RR。轮叫调度就是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并 选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调 度。轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度。该算法相对 简单,不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,轮叫调度算法容 易导致服务器间的负载不平衡。(2).Weighted Round-Robin : 加权轮叫,简称WRR。该算法可以解决服务器间性能不一的情况,它用相应的权值表示服务器的处理性能,服务器的缺省 权值为1。假设服务器A的权值为1,B的权值为2,则表示服务器B的处理性能是A的两倍。加权轮叫调度 算法是按权值的高低和轮叫方式分配请求到各服务器。权值高的服务器先收到的连接,权值高的服务器 比权值低的服务器处理更多的连接,相同权值的服务器处理相同数目的连接数。(3).Destination Hashing : 目标地址散列,简称DH。目标地址散列调度算法先根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找 出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空,主要应用于缓 存服务器。(4).Source Hashing : 源地址散列,简称SH。源地址散列调度算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键 (Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该 服务器,否则返回空。它采用的散列函数与目标地址散列调度算法的相同。动态调度方法又分为:(1).Least Connections : 最少链接,简称LC。该调度是把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态调度算法,它 通过服务器当前所活跃的连接数来估计服务器的负载情况。调度器需要记录各个服务器已建立连接的数 目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减1。计算当前realserver 的负载情况计算方法:active*256+inactive=overhead。