常见的负载均衡算法

负载均衡算法也是分布式系统中的重要组成部分,用于将来自客户端的请求分配到不同的后端服务器上,以达到提高系统吞吐量、减轻服务器负担、提高系统可用性等目的

1、轮询法

轮询法是最简单、最常见的负载均衡算法之一,其实现思路也非常简单:按照事先规定的顺序依次将请求转发至后端服务器。例如,若有4台服务器,则第1个请求会被分配到第1台服务器上,第2个请求会被分配到第2台服务器上,第3个请求会被分配到第3台服务器上,第4个请求又会被分配到第1台服务器上,以此类推

 

//定义一个全局计数器,每次调用累加
private static AtomicInteger atomicInteger = new AtomicInteger(0);
//定义服务器列表
private static List<String> serverList = new ArrayList<>();

public static String roundRobin() {
    //获取服务器数量
    int serverCount = serverList.size();
    //获取当前请求应该转发到哪台服务器
    int currentServerIndex = atomicInteger.incrementAndGet() % serverCount;
    //返回对应的服务器地址
    return serverList.get(currentServerIndex);
}

核心就在于根据服务器的数量来进行取模运算

优点:简单高效,易于水平扩展,每个节点满足字面意义上的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值