LVS的调度算法

版权声明:博文为原创,引用请注明出处 https://blog.csdn.net/ANYELEISHOU/article/details/82869222

LVS的调度算法

一.调度算法简介以及分类
什么是调度算法?
【DR按照什么规则来从多个RS中筛选出来一个给用户提供服务】
动态算法:DR会实时的检测后端的RS的负载情况,将新用户的请求调度到一个负载较少的RS之上
静态算法:无论后端的RS当前的服务器负载情况怎么样,都安装固定的方式来给RS分配用户请求

1.静态算法
rr:Round Bobin,轮询,将客户端的请求交替分配给RS
wrr:Weighted Round Bobin,加权轮询,根据RS的性能不同,让他们来承担不同比例的用户请求
dh:Destination Hashing,目标地址哈希调度,基于用户所请求的地址做哈希表
作用:实现将对于相同的地址的请求调度到同一个RS之上
使用场景:适应于前端是一个DR,后端是多个cache的时候
sh:Source Hashing,源地址的哈希调度,基于用户的ip地址做哈希表
作用:实现将同一个客户端调度到相同的RS之上

2.动态算法
lc:Least Connection,最小连接数调度,本质是调度到当前负载最低的主机上
overhead=active256+inactive
wlc:Weighted Least Connection,加权最小连接数调度,本质是调度到当前负载最低的主机上
overhead=(active
256+inactive)/weight
SED:是wlc补充,为了降低overhead出现重复的情况
overhead=((active+1)*256+inactive))/weight
NQ:Never queue,算法基本和sed相同,为了避免性能差的RS长时间处于空闲状态
lblc:基于目标地址的最小连接数调度,这种算法那是lc和dh的组合,适应于cache场景
lblcr:带有复制功能的lblc

二.算法的选型
一般的网络的服务(http mail mysql)
rr wlc wrr
缓存服务(web cache/db cache)
dh lblc lblcr
模块:ip_vs
工具:ipvsadm
C6:1.26
C5:1.24

linux内核模块的管理命令
查看模块:lsmod
装载模块:modprobe 模块名称
卸载模块:modprobe -r 模块名称

猜你喜欢

转载自blog.csdn.net/ANYELEISHOU/article/details/82869222