在集群调用失败时,Dubbo 提供了6种容错方案,缺省为 failover 重试;内置了4种负载均衡策略。
具体的集群容错方案有:
Failover Cluster | 失败自动切换,自动重试其他服务器(默认) |
Failfast Cluster | 快速失败,立即报错,只发起一次调用 |
Failsafe Cluster | 失败安全,出现异常时,直接忽略 |
Failback Cluster | 失败自动恢复,记录失败请求,定时重发 |
Forking Cluster | 并行调用多个服务器,只要一个成功即返回 |
Broadcast Cluster | 广播逐个调用所有提供者,任意一个报错则报错 |
具体的负载均衡策略有:
RandomLoadBalance | 随机负载均衡,按权重设置随机概率(默认) |
RoundRobinLoadBalance | 轮询负载均衡,按公约后的权重设置轮询比率 |
LeastActiveLoadBalance | 最少活跃调用数,相同活跃数的随机 |
ConsistentHashLoadBalance | 一致性Hash负载均衡,相同参数的请求总是发到同一个提供者 |