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

ZooKeeper 集群故障时,Dubbo 如何继续调用?

查看完整题解

参考回答

直接回答

已有可用地址时,Dubbo 消费者仍能直连提供者。ZooKeeper 不可用会让地址订阅停更。重启实例是否还能找到目标,取决于缓存、启动检查和网络状态。

讲清原理

ZooKeeper 会话在短暂断线后可能恢复。会话过期时,它关联的临时节点会被清理。Dubbo 重连后会尝试恢复注册或订阅,消费者以新的节点列表更新本地目录。

注册中心维护地址,消费者直接向提供者发请求
注册中心维护地址,消费者直接向提供者发请求

例子与易错点

旧地址上的库存实例仍活着,ZooKeeper 断开不会拦住调用。若实例也下线,直到新地址重新注册并被发现之前,客户端手里可能只有过期地址。

延伸阅读 Dubbo 注册中心全挂,现有调用还能走吗? · Dubbo 怎么感知提供者失效并移出地址? · Dubbo 3 启动时检查什么?

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

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