zookeeper 采用了全局递增的事务 Id 来标识,所有的 proposal(提议)都在被 提出的时候加上了 zxid,zxid 实际上是一个 64 位的数字,高 32 位是 epoch(时 期; 纪元; 世; 新时代)用来标识 leader 周期,如果有新的 leader 产生出来,epoch 会自增,低 32 位用来递增计数.当新产生 proposal 的时候,会依据数据库的两 阶段过程,首先会向其他的 server 发出事务执行请求,如果超过半数的机器都能 执行并且能够成功,那么就会开…