我想知道如何使用ZooKeeper
客户端在C++
中创建持久性节点。我从documentation了解到,有一种方法zoo_acreate
。文档说明了这种方法:
此方法将在ZooKeeper中创建一个节点。只有在节点尚不存在的情况下才能创建节点。 Create Flags影响节点的创建。如果设置了ZOO_EPHEMERAL标志,那么如果客户端会话消失,节点将自动被删除。如果设置了ZOO_SEQUENCE标志,则会将唯一的单调递增序列号附加到路径名称。
但是,不幸的是,几乎和C ++库一样,这个库完全没有合理的小小的例子来证明库方法的用法。例如,在这种情况下,文档页面是关于zoo_acreate
方法的,但是一些看起来很糟糕的例子完全是关于其他的东西(它甚至没有提到zoo_acreate
方法)。
所以,我的问题是如何设置这些标志ZOO_EPHEMERAL
和ZOO_SEQUENCE
。在一些小例子的背景下看到这一点会很棒。谢谢!
答案 0 :(得分:1)
用Google搜索" 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);