Dubbo负载均衡策略

Dubbo提供了多种负载均衡策略,缺省为random随机调用
A、Random LoadBalance
随机,按权重设置随机概率。在一个截面上碰撞的概率高,但是调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
B、RoundRobin LoadBalance
轮循,按公约后的权重设置轮循比率。存在慢的提供者累积请求问题,比如:第二台机器很慢,但是没有挂,当请求第二台机器的时候就会卡在那,久而久之,所有的请求都卡在了第二台机器上。
C、LeastActive LoadBalance
最少活跃调用数,相同活跃数的随机。活跃数值调用前后计数差。使慢的提供者收到更少的请求,因为越慢的提供者调用前后的技术差会越大。
D、ConsistentHash LoadBalance
一致性Hash,相同参数的请求总是发到同一个提供者。当某一台提供者挂掉的时候,原本发往该提供者的请求,基于虚拟节点,平摊到其他提供者,不会引起剧烈变动。算法参见:https://en.wikipedia.org/wiki/Consistent_hashing。
缺省只是对第一个参数Hash,如果要修改,请配置

<dubbo:parameter key="hash.arguments" value="0,1">dubbo:parameter>

配置方式

<dubbo:service interface="..." loadbalance="roundrobin">dubbo:service>

或者

<dubbo:reference interface="..." loadbalance="roundrobin">dubbo:reference>

随机:loadbalance=” random”
轮循:loadbalance=” roundrobin”
最少活跃数:loadbalance=” leastactive”
一致性Hash:loadbalance=” consistenthash

你可能感兴趣的:(Dubbo负载均衡策略)