Dubbo 的读操作和写操作怎么选容错策略?
查看完整题解
参考回答
直接回答
能安全重复的查询,可用有限次数的 failover。有副作用的写入通常先考虑 failfast 或禁止额外重试。写入具备去重和结果查询能力后,再按业务决定是否重试。
讲清原理
返回超时时,客户端只知道没收到结果。服务可能尚未开始,也可能已提交。同一操作用业务请求号去重,且让去重记录和业务更新一起提交,才能避免第二次执行。
例子与易错点
创建订单的第一次调用提交成功,回包却丢了。重试带上同一个请求号,服务应该找到并返回已有订单。无去重时,换另一台提供者也可能再生成一笔订单。
延伸阅读 Dubbo 有哪些集群容错策略? · Dubbo 默认的 Failover 会调用几次? · Dubbo 能做分布式事务吗?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。