Random LoadBanlance:随机策略。按照概率设置权重,可以动态调节提供者权重
RoundRobin LoadBalance:轮训策略。按公约后的权重设置轮训比率
LeastActive LoadBanlance:最少活跃调用数。服务提供者维护一个活跃数计数器,越小说明负载越小
ConsistentHash LoadBalance:一致性Hash策略。保证相同参数的请求总是发给同一个提供者,当某一台宕机时,原本发往该出的请求,将基于虚拟节点平坦给其他提供者。
image.png在获取invoker的时候最终会调用到AbstractLoadBalance.select();
image.png
image.png
可以看到doSelect()是一个抽象方法,需要具体的实现类类实现它,不同的实现类则会有不同的负载均衡实现方法。
Random LoadBalance
image.pngRoundRobin LoadBalance
image.pngLeastActiveLoadBalance
image.pngConsistentHashLoadBalance
image.png自定义负载均衡策略
image.pngimage.png image.png
网友评论