3

来自Zookeeper 文档

ctime 从创建此 znode 的纪元开始的时间(以毫秒为单位)。

mtime 上次修改此 znode 时从纪元开始的时间(以毫秒为单位)。

我假设 Zookeeper 以某种方式同步 ZK 集群中所有节点的(内部)真实时钟,以便时间戳保持一致,无论客户端连接的节点如何。是这样吗?如果是,它是如何工作的?

我发现的是:

即时的

ZooKeeper 根本不使用实时时间或时钟时间,只是在 znode 创建和 znode 修改时将时间戳放入 stat 结构中。

也就是说,它尽可能使用逻辑时间,但它没有说明真实时钟是否同步。

谢谢!

4

1 回答 1

2

不,真正的时钟只用在 ctime 和 mtime 中。当前leader使用真实时钟在请求中设置了一个TxnHeader,然后作为zNode的ctime和mtime。

于 2013-11-08T17:17:24.080 回答