学习目标
-
Dubbo的负载均衡策略有哪些及各自特点
第1章 负载均衡
1.1 RandomLoadBalance
1.1.1 使用场景
在大请求量的情况下,想要让请求落到所有节点的比率跟机器的权重比率接近那么就可以使用随机算法。
随机算法是dubbo默认的负载均衡算法,在dubbo随机的负载均衡算法有两种
1、完全随机
2、权重随机
完全随机就是不考虑权重从服务列表中根据服务列表的长度来随机选择一个,这样做是没考虑机器性能差异的。
权重随机,是给不同机器的机器加不通的权重,机器性能好点的权重高,性能差点的权重低,权重高的机器能随机分配更多的请求,反之亦然。
1.1.2 源码分析
@Override
protected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL url, Invocation
invocation) {
// Number of invokers
int length = invokers.size();
//判断是否需要权重随机