每个节点除了存储数据内容之外,还存储了数据节点本身的一些状态信息,通过get命令可以获得状态信息的详细内容。

状态属性说明
czxid即Created ZXID,表示该数据节点被创建时的事务ID
mzxid即Modified ZXID,表示该节点最后一次被更新时的事务ID
ctime即Created Time,表示节点被创建的时间
mtime即Modified Time,表示该节点最后一次被更新的时间
version数据节点的版本号
cversion子结点的版本号
aversion节点的ACL版本号
ephemeralOwner创建该临时节点的会话的sessionID。如果该节点是持久节点,那么这个属性值为0
dataLength数据内容的长度
numChildren当前节点的子节点个数
pzxid表示该节点的子节点里欸包最后一次被修改时的事务ID。注意,只有子节点列表变更了才会变更pzxid,子节点内容变更不会影响pzxid

版本-保证分布式数据原子性

zookeeper为数据节点引入了版本的概念,每个数据节点都有三类版本信息,对数据节点任何更新操作都会引起版本号的变化,类似乐观锁。

版本类型说明
version当前数据节点数据内容的版本号
cversion当前数据节点子节点的版本号
aversion当前数据节点ACL变更版本号

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐