18 如何使用负载均衡算法?
假设你订阅了一个别人的服务,从注册中心查询得到了这个服务的可用节点列表,而这个列表里包含了几十个节点,这个时候你该选择哪个节点发起调用呢?这就是今天我要给你讲解的关于客户端负载均衡算法的问题。
为什么要引入负载均衡算法呢?主要有两个原因:一个是要考虑调用的均匀性,也就是要让每个节点都接收到调用,发挥所有节点的作用;另一个是要考虑调用的性能,也就是哪个节点响应最快,优先调用哪个节点。
不同的负载均衡算法在这两个方面的考虑不同,下面我就来能给介绍常见的负载均衡算法及其应用场景。
常见的负载均衡算法
1. 随机算法
随机算法,顾名思义就是从可用的服务节点中,随机挑选一个节点来访问。
在实现时,随机算法通常是通过生成一个随机数来实现,比如服务有10个节点,那么就每一次生成一个1~10之间的随机数,假设生成的是2,那么就访问编号为2的节点。
采用随机算法,在节点数量足够多,并且访问量比较大的情况下,各个节点被访问的概率是基本相同的。一个随机算法的代码实现,可以参考这个