dubbo的负载均衡算法及使用

dubbo提供了额四种负载均衡策略,如果不填,默认使用random随机调用。

1.Random LoadBalance

按照权重设置随机概率。

在一个界面上碰撞的概率高,但调用量越大分布越均匀,按概率使用权重后也比较均匀,有利于动态调整服务提供者的权重

2.RoundRobin LoadBalance

轮询,按照在代码中的配置或者dubbo-admin中设置的权重设置轮询比率。

存在的问题:响应请求慢或者卡住的机器存在累计请求的问题。如果有一台机器响应慢的话,按照轮询还是会有很多请求落在这台服务器上,久而久之,导致这台服务器宕掉

3.LeastActive LoadBalance

最少活跃调用数,相同活跃数的随机,活跃数指的是调用时间差。

服务响应慢的提供者接受到的请求更少。

4.ConsistentHash LoadBalance

一致性Hash,相同参数的请求总是发送到同一条机器。

当其中某一台服务提供者挂掉后,原本属于这台机器的请求都会平均分配到其他机器上,并不会引起较大的波动。

缺省只针对第一册参数Hash,如果要修改的话,需要进行以下配置


在消费方使用@Reference(loadbalance= “roundrobin”)

dubbo提供的负载均衡算法

负载均衡的扩展:https://dubbo.gitbooks.io/dubbo-dev-book/content/impls/load-balance.html

你可能感兴趣的:(dubbo,分布式)