在集群负载均衡时,Dubbo提供了4种均衡策略,默认为Random(随机调用)
负载均衡策略:
1)、Random LoadBalance(随机,按照权重的设置随机概率)
2)、RoundRobin LoadBalance(轮询,按照权重设置轮询比率)
请求次数 | 提供者ID |
1 | 服务提供者1 |
2 | 服务提供者2 |
3 | 服务提供者3 |
4 | 服务提供者1 |
5 | 服务提供者2 |
6 | 服务提供者2 |
7 | 服务提供者2 |
3)、LeastActive LoadBalance(最少活跃数,ping值(延迟低)的调用,相同延迟的情况下随机)
由于服务提供者1的延迟低,在保证延迟不变的情况下,服务提供者1将始终被调用
4)、ConsistentHash LoadBalance
一致性Hash,相同参数的请求总是发到同一个服务提供者(相同参数默认是指请求的第一个参数)
当原本发送到特定服务提供者的请求,而该服务提供者刚好宕掉,那么该请求将基于虚拟节点平摊到其它服务提供者,不会引起剧烈的变动。