LVS的调度算法

LVS调度算法

  • ipvs scheduler

调度算法分类

◇ ipvs scheduler:根据其调度时是否考虑各RS当前的负载状态

  • 两种:静态方法和动态方法
    静态调度算法:不考虑后端服务器当前的负载情况,仅根据算法本身进行调度
    动态调度算法:考虑后端服务器当前的负载情况

静态调度算法

  • 1、RR:roundrobin,轮询
  • 2、WRR:Weighted RR,加权轮询
  • 3、SH:Source Hashing,实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定
SH调度算法:
    源地址hash。
    将client ip地址hash,当源地址相同时,始终往第一次调度的主机上调度,从而实现会话保持。第一次访问按照轮询进行调度。
  • 4、DH:Destination Hashing;目标地址哈希,第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如:宽带运营商
DH调度算法:
    目标地址hash    
    一般的使用场景:比如调度至缓存服务器时,但是不同的缓存服务器缓存的是不同的资源,这种情况。

    举例:小区宽带运营商,小区里的人访问各大视频网站(某讯、某艺、某酷等)
    ==>为加速访问独播的视频:使用的三个缓存服务器各自缓存上述三个视频网站独播的视频。
    ==>此时可以根据目标地址hash进行不调度,只要访问的是某酷的ip地址,直接调度至某酷的缓存服务器---

动态调度算法

  • 动态方法:主要根据每RS当前的负载状态及调度算法进行调度Overhead=value较小的RS将被调度
  • 其中Overhead的值越小,说明服务器负载越小,可以优先被调度。

调度算法:

  • 1、LC:least connections 适用于长连接应用
    Overhead=activeconns*256+inactiveconns
 Overhead=activeconns*256+inactiveconns
    activeconns:正处于连接的、活跃状态的连接、有数据在传输才表示活动状态的连接
    inactiveconns:连接但是并未进行数据连接
     ==>activeconns大概256个inactiveconns。


==>LC算法只考虑的负载情况,没有考虑后端服务器的性能、处理数据的能力。
  • 2、WLC:Weighted LC,默认调度方法
    Overhead=(activeconns*256+inactiveconns)/weight
WLC:带权重的LC算法,此为系统默认lvs调度算法
DR是系统的默认lvs模型
  • 3、SED:Shortest Expection Delay,初始连接高权重优先
    Overhead=(activeconns+1)*256/weight
SED的最大问题是解决了系统在刚搭建起来时,第一请求是按照权重比例分配的,但是当权重差别比较大时:
    连续好多次的请求均发往权重较大的服务器,而权重较低的还一个请求都未接收。


举例:假设权重设为hostA:hostB:hostC = 1:2:5
    第一访问: 目前各服务器的负载:
        hostA:256/1=256
        hostB:256/2=128
        hostC:256/5=51.2  ==>此次请求调度至hostC
    
    又来一个访问:目前各服务器负载:
        hostA:256/1=256
        hostB:256/2=128     
        hostC:512/5:102.4  ==>此次请求调度至hostC   

==>可见当权重差别较大时,前面的些许请求会持续被调度在权重较大的RS服务器
  • 4、NQ:Never Queue,第一轮均匀分配,后续SED
解决上述当权重差别较大时,前面的请求一直调度至权重较大的服务器:
    
    NQ:第一轮均匀分配即先保证每个服务都各自先处理一个请求(先热身),之后再执行SED调度。
  • 5、LBLC:Locality-Based LC,动态的DH算法,使用场景:根据负载状态实现正向代理

  • 6、LBLCR:LBLC with Replication,带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值