wrr算法原理和python实现

简介

在测试各种负载均衡时,总会看到WRR算法,为每个后端RS(real server)设置一个权重值,根据权重值比例来向RS转发。
比如如下负载均衡,后端rs1,rs2,rs3权重值分别为40,30,20, 客户端过来的请求,负载均衡按照2:3:4进行转发

40
30
20
客户端
负载均衡
RS1
RS2
RS3

实现

最大权重

最大权重算法

  1. 初始时分别给rs相应比例的权重
  2. 选择权重最大的RS,如果最大权重有多个,可以选择第一个,或者随机一个
  3. 选中的权重减一
  4. 反复重复步骤2,直到所有权重都为0,然后恢复初始权重

令牌轮询示例

第9次.....................................................
第8次.....................................................
第7次.....................................................
第6次.....................................................
第5次.....................................................
第4次.....................................................
第3次.....................................................
第2次.....................................................
第1次.....................................................
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值