Zookeeper 中的 ZXID

Posted 张志翔ۤ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper 中的 ZXID相关的知识,希望对你有一定的参考价值。

致使ZooKeeper节点状态改变的每一个操作都将使节点接收到一个Zxid格式的时间戳,并且这个时间戳全局有序。也就是说,每个对节点的改变都将产生一个唯一的Zxid。如果Zxid1的值小于Zxid2的值,那么Zxid1所对应的事件发生在Zxid2所对应的事件之前。实际上,ZooKeeper的每个节点维护者两个Zxid值,为别为:cZxid、mZxid。

(1)cZxid: 是节点的创建时间所对应的Zxid格式时间戳。

(2)mZxid:是节点的修改时间所对应的Zxid格式时间戳。

实现中Zxid是一个64为的数字,它高32位是epoch用来标识Leader关系是否改变,每次一个Leader被选出来,它都会有一个新的epoch。低32位是个递增计数。

以上是关于Zookeeper 中的 ZXID的主要内容,如果未能解决你的问题,请参考以下文章

kafka中的 zookeeper 起到什么作用,可以不用zookeeper么?

kafka中的 zookeeper 起到什么作用,可以不用zookeeper么?

ZooKeeper在HBase中的应用

Zookeeper中的选举机制

zookeeper中的ZAB协议理解

Zookeeper详解:Zookeeper中的Znode特性