Zookeeper是如何检测服务器宕机的?

具体的宕机表现形式多种多样,包括但不限于服务器直接因硬件故障重启,或者是操作系统层面的蓝屏死机,甚至极端情况下服务器根本无法开机。只要服务器无法维持正常的服务响应,Zookeeper的集群管理模块就会将其识别为离线状态。

评论 (1)

这个回答有点太笼统了。ZooKeeper并不是靠“无法响应”这种泛泛的描述来检测宕机的,核心机制是Session心跳和Watcher。如果客户端和Server断连且在规定时间内没恢复心跳,Session就会过期,进而触发服务器移除会话。另外,ZK集群内部节点之间还依赖TCP长连接和心跳包来判断存活状态,不仅仅是应用层的服务响应。