我正在尝试将zookeeper实现为我在erlang中创建的应用程序的共享状态引擎。州的结构如下:
/appRoot
/parent1:{json}
/child1:{json}
/child2:{json}
/parent2:{json}
/child1:{json}
/child2:{json}
我希望能够有一个方法在提供/ appRoot及其数据时返回所有父节点。在元组[{parent1,{json}},{parent2:{json}}]列表中说。或者,如果为/ appRoot / parent1提供了包含数据的子节点列表。到目前为止,我所看到的只是一种获取密钥(getChildren)然后使用密钥递归检索数据的方法。看起来我应该只打一个电话来做这件事。
我目前正在使用ezk erlang客户端库。如果有人知道更好的解决方案,那也将受到赞赏。
TIA
答案 0 :(得分:3)
AFAIK没有办法在zookeeper有线协议中以原子方式列出节点子节点及其数据。似乎,只有这样做的方法如下:
这可以通过ezk
轻松完成,但我没有提供任何示例代码,因为它在很大程度上取决于应用逻辑所要求的原子性保证。