在我的项目中,我需要最新的序列号而不获取子节点,因为子节点太多。
问问题
145 次
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 回答