首页 > 代码库 > zookeeper源码分析-server-util
zookeeper源码分析-server-util
zxid (ZooKeeper Transaction Id,每次请求对应一个唯一的zxid,如果zxid a < zxid b ,则可以保证a一定发生在b之前)
zookeeper采用了递增的事务id号(zxid)来标识事务。所有的提议(proposal)都在被提出的时候加上了zxid。
实现中zxid是一个64位的数字,它高32位是epoch用来标识leader关系是否改变,每次一个leader被选出来,它都会有一个新的epoch,标识当前属于那个leader的统治时期。低32位用于递增计数。
ZXID高32位代表epoch(表示纪元或时代),低32位表示counter(表示递增计数)
ZxidUtils.java:(ZXID工具集)
getEpochFromZxid获取epoch,getCounterFromZxid获取递增计数,makeZxid通过epoch和counter进行移位组合,zxidToString把zxid转换成16进制字符串。
zookeeper源码分析-server-util
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。