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

ZooKeeper 的连接和会话有什么区别?

查看完整题解

参考回答

直接回答

应用和某台服务端有一条网络连接,客户端与整个 ZooKeeper 服务之间有一个会话。换一台服务器连接时,只要会话仍有效,就可以沿用原会话。

讲清原理

客户端创建会话时得到会话 ID 与协商过的超时。短时断线后,客户端会尝试用原会话重新连上服务端。会话过期后,应用要新建会话并重新登记所需状态。

网络断开、会话重连与临时节点寿命
网络断开、会话重连与临时节点寿命

例子与易错点

客户端从 A 换连到 B,如果原会话还有效,原来登记的临时节点还在。刚断线就补做一次登记,可能会重复。

延伸阅读 别的客户端写入后,我能立刻读到最新值吗? · ZooKeeper 临时节点什么时候删除?

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

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