Dubbo 的容错机制
Dubbo 官网提出总共有六种容错策略
- Failover Cluster 模式
失败自动切换,当出现失败,重试其它服务器。(默认)
- Failfast Cluster
快速失败,只发起一次调用,失败立即报错。 通常用于非幂等性的写操作,比如新增记录。
- Failsafe Cluster
失败安全,出现异常时,直接忽略。 通常用于写入审计日志等操作。
- Failback Cluster
失败自动恢复,后台记录失败请求,定时重发。 通常用于消息通知操作。
- Forking Cluster
并行调用多个服务器,只要一个成功即返回。
通常用于实时性要求较高的读操作,但需要浪费更多服务资源。
可通过 forks=”2”来设置最大并行数。
- Broadcast Cluster
广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0 开始支持) 通常用于通知所有提供者更新缓存或日志等本地资源信息。
- 总结: 在实际应用中查询语句容错策略建议使用默认 Failover Cluster ,而增删改建议使用 Failfast Cluster
或者 使用 Failover Cluster(retries=”0”) 策略 防止出现数据
重复添加等等其它问题!建议在设计接口时候把查询接口方法单独做一个接口提供查询。