关于zookeeper的问题:barrier实现和sequence node

Questions on zookeeper: barrier implementation and sequence node

我有 2 个关于动物园管理员的问题:

Barries implementation

https://zookeeper.apache.org/doc/r3.1.2/recipes.html#sc_recipes_eventHandles

为什么需要第四步?如果客户端等待屏障节点的删除事件,当事件被触发时,为什么客户端仍然需要重新发出 exists() 调用?

Sequence node

zookeeper保证一个sequence节点名后面的数字是连续从0开始的吗?就算和Ephemeral属性混用?

比如/test是新创建的节点,序列子节点必须是这样的:/test/xxx_00000000000, /test/xxx_00000000001, /test/xxx_00000000002...从/test/xxx_00000000000[=开始35=]和/test/xxx_00000000001绝不会错过。

第一个问题:

可以有任意数量的客户端在观看,一个会进入,而对于其他客户端,exists() 将再次 return 为真,因此需要重新测试。

第二个问题:

我认为是的,它们在所有场景中都是连续的并且从0开始。我对此没有很好的来源,但我在各种情况下使用了顺序节点(包括临时顺序),并且从未见过其他行为。