Advertisement

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. 对已选定的RS对应的权重数值进行减一操作
  4. 循环执行步骤2,直至所有RS的权重值归零,随后将权

全部评论 (0)

还没有任何评论哟~