【问题标题】:Persistent and ephemeral nodes in ZooKeeperZooKeeper 中的持久和临时节点
【发布时间】:2015-09-19 08:11:09
【问题描述】:

我想知道如何使用C++ 客户端在ZooKeeper 中创建持久节点。我从documentation 知道,有一个方法zoo_acreate。文档说明了这种方法:

此方法将在 ZooKeeper 中创建一个节点。只有在节点不存在时才能创建节点。 Create Flags 影响节点的创建。如果设置了 ZOO_EPHEMERAL 标志,则如果客户端会话消失,节点将自动删除。如果设置了 ZOO_SEQUENCE 标志,则会将唯一的单调递增序列号附加到路径名。

但是,不幸的是,几乎和 C++ 库一样,这个库完全缺乏合理的小例子来证明库方法的使用。例如在这种情况下,文档页面是关于 zoo_acreate 方法的,但一些看起来很糟糕的例子完全是关于其他东西的(它甚至没有提到 zoo_acreate 方法)。

所以,我的问题是如何设置这些标志ZOO_EPHEMERALZOO_SEQUENCE。很高兴在一些小例子的背景下看到这一点。谢谢!

【问题讨论】:

    标签: c++ apache-zookeeper


    【解决方案1】:

    谷歌搜索“zoo_acreate ZOO_EPHEMERAL”给出了第七个结果:

    string path = "/nodes/";
    string value = "data";
    int rc = zoo_acreate(zh, path.c_str(), value.c_str(), value.length(),
        &ZOO_OPEN_ACL_UNSAFE, ZOO_EPHEMERAL | ZOO_SEQUENCE, &czoo_created, &where);
    

    来源:https://issues.apache.org/jira/browse/ZOOKEEPER-348

    【讨论】:

    • 谢谢您,先生!我希望 ZooKeeper 客户端文档有这样有用的示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多