Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Dubbo 默认的 Failover 会调用几次?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

默认集群容错是 failover。经典配置默认值 retries=2 指首次之后最多再重试两次,也就是最多三次尝试。业务异常一般直接返回,能否继续还受可用实例、失败类型和配置约束。

讲清原理

失败后,Failover 会尝试重新选择提供者,尽量避免走刚失败的节点。剩余候选不足时,不能保证每次都命中不同实例。超时也不能说明对端从未执行。

一次请求失败后,Failover 重新选择可用实例
一次请求失败后,Failover 重新选择可用实例

例子与易错点

把已做幂等保护的写入设置成 retries=1,最多是第一次加一次重试。要把总尝试限制为一次,设 retries=0 或在适合的引用上使用 failfast。

延伸阅读 Dubbo 有哪些集群容错策略? · Dubbo 调用超时,应该先排查什么? · Dubbo 的读操作和写操作怎么选容错策略?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。