0

在我的项目中,我需要最新的序列号而不获取子节点,因为子节点太多。

4

2 回答 2

1

根据这个答案并由我的实验证实,自 Zookeeper 3.4 以来,顺序 znode 是从父级编号开始编号的PersistedStat.cversion,它存储在其下创建的 znode 的数量。您可以通过查询父 znode stat 来计算此数字,然后应用以下公式:

PersistedStat.cversion = (ZnodeStat.cversion + ZnodeStat.numChildren) /2

这样,您就不需要使用get_children()来发现最后创建的 znode 的编号。

于 2013-12-03T17:54:24.453 回答
0

我不认为你能做到这一点。你可以做的是观察 n+1 的节点(它不存在),然后在它在创建时触发观察时采取行动。

还要考虑该节点发布自身的领导者选举。如果您有很多节点,这可能会导致大量数据流出。 http://techblog.outbrain.com/2011/07/leader-election-with-zookeeper/

于 2013-06-05T15:27:41.723 回答