平衡加权轮休算法
原始权重: A(5) B(1) C(1)
我们希望服务器请求不是 AAABCAAABC这样的模式,而是AABAACA这样,可以减轻每台服务器的压力,
加权方式
动态权重: 0,0,0
动态权重 +原始权重 | 最大权重 | 运行服务器 | 动态权重=最大值-原始权重和(-7) |
---|---|---|---|
5 1 1 + 0 0 0 = 5 1 1 | 5 | A | 5(-7) 1 1 = -2 1 1 |
511 + -2 11 = 3 2 2 | 3 | A | 3(-7) 2 2 = -4 2 2 |
5 1 1 + -4 2 2 = 1 3 3 | 3 | B | 1 3(-7) 3 = 1 -4 3 |
6 -3 4 | 6 | A | -1 -3 4 |
4 -2 5 | 5 | C | 4 -2 -2 |
9 -1 -1 | 9 | A | -2 -1 -1 |
3 0 0 | 3 | A | -4 0 0 |
1 1 1 | 1 | A | -6 1 1 |
1.原始权重的最大值减去权重的和等于动态权重
2.当前权重等于原始权重+动态权重,取最大权重运行服务器
3.当前权重继续减去权重和算出动态权重
4.原始权重+动态权重等于当前权重,继续循环