在dubbo中提供了6个默认的集群容错模式
配置位置:@DubboService(cluster="1、2、3、4、5、6",retires=“default=2")
1.Failover cluster(默认)
失败自动重试(重试其他服务器),报错(超时)。
*保证请求的幂等性:必须保证成功*
场景:读的事务操作。
2.Failfast cluster
立马报错,快速失败,直接报错。
场景:写的事务性操作。
3.Failsafe cluster
出现异常直接吞掉不抛出异常
场景:日志(排查监控的工具)。
4.Failback cluster
失败后自动恢复,失败后记录失败的请求,定时重发。
场景:消息通知操作,保证这个请求一定发送成功,可以解决短期网络拥塞导致请求的丢失。
5.Forking cluster
并行调用多个服务端节点,只要有一个节点成功返回就返回此成功的节点。
场景:并发场景下的读的事务性操作
6.broadcast cluster
广播调用所有节点,一个请求调用所有的服务提供者。只要其中一个节点报错,那么认为这个请求失败。
场景:更新缓存,更新资源等要确保每个节点都能够返回成功。