学科分类
目录
Hadoop技术栈

Watch机制的通知状态和事件类型

同一个事件类型在不同的连接状态中代表的含义有所不同,下表列举了常见的连接状态和事件类型,如表1所示。

表1 Zookeeper连接状态和事件类型

连接状态 状态含义 事件类型 事件含义
Disconnected 连接失败 NodeCreated 节点被创建
SyncConnected 连接成功 NodeDataChanged 节点数据变更
AuthFailed 认证失败 NodeChildrentChanged 子节点数据变更
Expired 会话过期 NodeDeleted 节点被删除

从表1可知,Zookeeper常见的连接状态和事件类型分别有4种,具体含义如下。

当客户端断开连接,这时客户端和服务器的连接就是Disconnected状态,说明连接失败;当客户端和服务器的某一个节点建立连接,并完成一次version、zxid的同步,这时客户端和服务器的连接状态就是SyncConnected,说明连接成功;当Zookeeper客户端连接认证失败,这时客户端和服务器的连接状态就是AuthFailed,说明认证失败;当客户端发送Request请求,通知服务器其上一个发送心跳的时间,服务器收到这个请求后,通知客户端下一个发送心跳的时间是哪个时间点。当客户端时间戳达到最后一个发送心跳的时间,而没有收到服务器发来的新发送心跳的时间,即认为自己下线,这时客户端和服务器的连接状态就是Expired状态,说明会话过期。

当节点被创建时,NodeCreated事件被触发;当节点的数据发生变更时,NodeDataChanged事件被触发;当节点的直接子节点被创建、被删除、子节点数据发生变更时,NodeChildrentChanged事件被触发;当节点被删除时,NodeDeleted事件被触发。

点击此处
隐藏目录