【问题标题】:Apache Curator lock pathApache Curator 锁定路径
【发布时间】:2014-05-02 12:07:47
【问题描述】:

我们知道如何使用 Apache Curator 创建分布式共享锁:

InterProcessMutex lock = new InterProcessMutex(client,"/my/lock");

对于上面的代码,我有两个问题:

1:第二个参数是lock(znode)的路径,那么这个lock znode是这段代码自动创建的,还是我们之前需要手动创建?

2:如果是“InterProcessMutex”创建的,如果这个锁znode已经被其他实例创建了怎么办?它会抛出任何“znode exsting”异常吗?如果它没有抛出任何异常,发生了什么,创建一个重复的znode?

【问题讨论】:

    标签: apache-zookeeper apache-curator


    【解决方案1】:

    对于 1 - 是的,Curator 会为您创建路径(如果需要,还创建父路径)。

    对于 2 - 如果其他实例使用该路径分配 InterProcessMutex,则没有问题。都是内部处理的。如果需要,策展人会创建路径。将路径视为“锁定 ID”。

    免责声明:我是策展人的主要作者

    【讨论】:

    • 所以当Curator“释放”时,路径是否被移除
    • 不,它没有被删除。但是,Curator 确实有一个单独的配方 (Reaper),可以用来清理像这样的旧路径。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    相关资源
    最近更新 更多