前言
在集群调用失败时,Dubbo提供了多种容错方案,缺省委Failover重试
Failover Cluster
失败自动切换,当出现失败时,重试其它服务器
通常用于读操作,但重试会带来更长延迟
可通过retries="2"来设置重试次数(不含第一次)
Failfast Cluster
快速失败,只发起一次调用。失败立即报错
通常用于非幂等性的写操作,比如新增记录
Failsafe Cluster
失败安全,出现异常时,直接忽略
Failbacl Cluster
失败自动恢复,后台记录失败请求,定时重发
Forking Cluster
并行调用多个服务器,只要一个成功即返回
通常用于实时性要求较高的读操作,但需要浪费更多服务资源
可通过 forks="2" 来设置最大并行数
Broadcast Cluster
广播调用所有提供者,逐个调用,任意一台报错则报错