【问题标题】:Get all subnode keys and values from zookeeper从 zookeeper 获取所有子节点键和值
【发布时间】:2014-10-26 00:01:21
【问题描述】:

我正在尝试将 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

【问题讨论】:

    标签: erlang apache-zookeeper znodes


    【解决方案1】:

    AFAIK 在 zookeeper 有线协议中,无法自动列出节点子节点及其数据。似乎,只有以下方法可以做到这一点:

    1. 列出所有节点子节点并监控子节点的变化。
    2. 为每个子节点读取数据并监控数据变化。
    3. 在您开始遍历后更新每个子项更改的相应值。

    这可以通过ezk 轻松完成,但我没有提供任何示例代码,因为它在很大程度上取决于您的应用逻辑所需的原子性保证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      相关资源
      最近更新 更多