Linux LVS的调度算法
后端多个RS,lvs将请求发送给哪一个RS由调度算法决定。
调度算法分类:
静态算法:根据算法本身调度,不考虑rs的负载情况
-
RR:轮询,rs按顺序轮流来
-
WRR:加权轮询,给rs加比例权重,权重的就多承担一些请求。
-
SH:将源地址作为判断的标准,将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定
-
DH:将目标地址作为判断的标准,第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS
动态算法:考虑rs的负载情况来转发请求
-
LC:最少连接算法。适用于长连接的用户
-
WLC:带权重的最少连接算法,权重越大,就越优先被调用(lvs的默认算法)
-
SED:初始连接时高权重优先,只检查活动连接,而不考虑非活动连接
-
NQ:第一次连接时初始分配,后续就使用SED这种算法
-
LBLC:动态的DH算法,根据负载情况进行调度,
-
LBLCR:带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS,,实现Web Cache等
内核版本 4.15 版本后新增调度算法:FO和OVF
-
FO:属于静态算法
-
OVF:属于动态算法,