调度算法:
调度算法是Director根据各个Realserver的负载状况,动态选择一台RealServer响应客户请求。
调度算法分为2大类:
静态调度算法:
RR:轮叫
WRR:加权轮叫
DH:目标地址hash
SH:源地址hash
DH、SH常用于有缓存服务器的集群中。
动态调度算法:
LC:最少连接
WLC:加权最少连接
LBLC:基于局部性的最少连接
RLBLC:带复制的基于局部性的最少连接
下面对常见的4种调度算法做详细介绍:
(1)轮叫调度(RR:Round Robin)
轮叫也叫1:1调度,调度器通过“轮叫”调度算法将用户请求按照顺序1:1的分配给每一个RealServer。
这种算法属于起点公平。
(2)加权轮叫调度(WRR:Weighted Round Robin)
加权轮叫调度算法是根据每一个RealServer的不同处理能力来分配访问请求的。
为每一台RealServer设置不同的调度权值,从而保证处理能力强的RealServer处理更多的访问请求,充分利用了服务器资源。同时,调度器还可以自动查询RealServer的负载情况,并动态的调整其权值。
(3)最少连接调度(LC:Least Connections)
最少连接调度算法动态的将客户请求调度到已建立的连接数最少的RealServer上。
在各个RealServer系统性能差不多时,采用这种调度算法可以较好的均衡负载。
(4)加权最少连接调度(WLC:Weighted Least Connections)
加权最少连接调度在分配新连接请求时尽可能使各个RealServer的已建立连接数和其权值成正比。