ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议) 协议的事务编号 Zxid设计中,Zxid 是一个 64 位的数字,其中低 32位是一个简单的单调递增的计数器,针对客户端每一个事 务请求,计数器加 1;而高 32 位则代表 Leader 周期 epoch 的编号。

每个当选产生一个新的 Leader服务器,就会从这个 Leader服务器上取出其本地日志中最大事务的 ZXID,并从中读取
epoch 值,然后加 1,以此作为新的 epoch,并将低 32 位从 0 开始计数。

Zxid(Transaction id)类似于 RDBMS 中的事务 ID,用于标识一次更新操作的 Proposal(提议)
ID。为了保证顺序性,该 zkid 必须单调递增。

日志文件中文件名为log,后缀即为十六进制的ZXID

stat /XXX/XX

cZxid = 0x100000173
ctime = Wed Dec 23 17:30:12 CST 2020
mZxid = 0x100000173
mtime = Wed Dec 23 17:30:12 CST 2020
pZxid = 0x100000173
  • cZxid: 是节点的创建时间所对应的Zxid格式时间戳。
  • mZxid:是节点的修改时间所对应的Zxid格式时间戳。
  • pZxid: 是与该节点的子节点(或该节点)的最近一次 创建 / 删除 的时间戳

https://www.linuxidc.com/Linux/2016-03/129509.htm

Logo

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

更多推荐