Dubbo集群容错策略的实现可以通过配置文件或者代码进行设置。下面是几种常见的Dubbo集群容错策略实现方式:
Failover(默认):失败自动切换,当出现失败,重试其他服务器,通常用于读操作,例如查询操作。可以通过设置<dubbo:service>
或者<dubbo:reference>
的cluster
属性为"failover"来启用。
Failfast:快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作,例如新增、修改等。可以通过设置<dubbo:service>
或者<dubbo:reference>
的cluster
属性为"failfast"来启用。
Failsafe:失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作。可以通过设置<dubbo:service>
或者<dubbo:reference>
的cluster
属性为"failsafe"来启用。
Failback:失败自动恢复,记录失败请求,定时重发,通常用于消息通知操作。可以通过设置<dubbo:service>
或者<dubbo:reference>
的cluster
属性为"failback"来启用。
Forking:并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作。可以通过设置<dubbo:service>
或者<dubbo:reference>
的cluster
属性为"forking"来启用,并通过设置<dubbo:reference>
的forks
属性来指定并行调用的个数。
Broadcast:广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于通知所有提供者更新缓存等操作。可以通过设置<dubbo:service>
的cluster
属性为"broadcast"来启用。
以上是一些常见的Dubbo集群容错策略,可以根据实际业务需求选择合适的策略,并通过Dubbo的配置文件或者代码进行设置。