负载均衡之权重算法

本文介绍了Nginx中实现负载均衡的权重算法,以(7,2,1)权重比例为例,详细阐述了从初始值开始,如何根据权重分配选择服务器的逻辑流程,并提供了相关代码示例进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nignx的权重算法的具体逻辑流程如下 ,以(7,2,1)权重比例为例

A  B  C
0  0  0 初试状态 

7  2  1 选中A
-3 2  1

4  4  2 选中A
-6 4  2

1  6  3 选中B
1 -4  3 
 
 8 -2  4  选中A
-2 -2  4
 
 5  0  5  选中A
-5  0  5
 
2  2  6  选中C
2  2 -4
 
9  4 -3  选中A
-1 4 -3
 
 6  6 -2  选中A
-4  6 -2
 
 3  8 -1  选中B
 3 -2 -1 
 
10  0  0  选中A
  0  0  0

依次循环

第一次是初始值0,0,0 其次就是根据具体的权重分配如(7,2,1) 选择最高权重减去权重之和,然后获得第二的值(-3,2,1)选择第二次的权重最高减去权重之和,等等等等,循环

具体代码如下

权重设置类

public class PowerWeight {
    protected String resource;
    protected int weight;

    public PowerWeight(String resource, int weight) {
        this.resource = resource;
        this.weight = weight;
    }
}

权重逻辑代码

import java.util.Arrays;
import java.util.stream.Collectors;

public class WeightAlgorithm {

    class WA{
        PowerWeight pw;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值