浅谈负载均衡算法
负载均衡绕不开的坎。

1.轮询(Round Robin)
轮询算法按照顺序将新的请求分配给下一个服务器,最终实现平分请求。
优点:实现简单,无需记录各种服务的状态,是一种无状态的负载均衡策略。实现绝对公平
缺点:当各个服务器性能不一致的情况,无法根据服务器性能去分配,无法合理利用服务器资源。
2.加权轮询(WeightedRound-Robin)
由于不同的服务器配置不同,因此它们处理请求的能力也不同,给配置高的机器配置相对较高的权重,让其处理更多的请求,给配置较低的机器配置较低的权重减轻期负载压力。加权轮询可以较好的解决这个问题。根据权重的大小让其获得相应被轮询到的机会。
缺点:请求被分配到三台服务器上机会不够平滑。
3.随机(Random)
思路:利用随机数从所有服务器中随机选取一台,可以用服务器数组下标获取。
4.加权随机(Weight Random)
思路:
这里我们是利用区间的思想,通过一个小于在此区间范围内的一个随机数,选中对应的区间(服务器),区间越大被选中的概率就越大
5.IPHash
思路:根据每个每个请求ip(也可以是某个标识)ip.hash() % server.size()
3个ip值除以服务器台数

浙公网安备 33010602011771号