Random LoadBalance 随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
RoundRobin LoadBalance 轮询,按公约后的权重设置轮询比率。
存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。
LeastActive LoadBalance 最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。
使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。
ConsistentHash LoadBalance 一致性 Hash,相同参数的请求总是发到同一提供者。
【Dubbo负载均衡策略】当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
- 缺省只对第一个参数 Hash,如果要修改,请配置
- 缺省用 160 份虚拟节点,如果要修改,请配置
推荐阅读
- Dubbo使用Hessian2序列化时针对Byte类型出现java.lang.ClassCastException
- Dubbo|【Dubbo | Zookeeper】一篇文章入门Dubbo+Zookeeper
- SpringBoot整合RPC框架Dubbo
- Spring|Spring Cloud Alibaba(四)(Spring Cloud 使用 Sentinel 实现限流)
- Spring|Spring Cloud Alibaba(三)(使用 Nacos config 实现统一配置管理)
- Spring|Spring Cloud Alibaba(二)(注解实现 Dubbo 服务调用失败时的本地伪装)
- java框架|org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectLoss
- Dubbo之RpcContext原理
- Java|dubbo @EnableAsync @Configuration
- dubbo中的ExtensionLoader详解