Failover
失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。可通过 retries=“2” 来设置重试次数 (不含第一次);
Failfast
快速失败,只发起一次调用,失败后立即报错,通常用于写操作,比如新增记录;
Failsafe
失败安全,当调用出现异常时,直接忽略掉,通常用于记录日志等允许失败的操作;
Failback
失败自动恢复,后台记录失败请求,定时重新发起请求,通常用于消息通知操作;
Forking
并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作,但需要浪费更多服务资源,可通过 forks=“2” 来设置最大并行数;
Broadcast
广播调用所有提供者,逐个调用,任意一台报错则报错。通常用于通知所有提供者更新缓存或日志等本地资源信息;
集群容错在服务提供者和消费者,两边都可以配置:
<dubbo:service cluster="failsafe" />
或
<dubbo:reference cluster="failsafe" />