gpt4 book ai didi

java - 重新连接后 Curator 互斥锁失败

转载 作者:行者123 更新时间:2023-12-02 13:09:06 25 4
gpt4 key购买 nike

场景:

使用Curator实现分布式互斥体。如果已经获取互斥量的客户端由于网络故障而与 zk 服务器断开连接,则 Curator 将尝试重新连接。假设最终重连成功,但是最后一个 session 已经过期,并且用于互斥锁的临时锁节点也消失了,那么这个互斥锁就不再起作用了!

那么使用 Curator 时如何处理重新连接后互斥失败的情况?谢谢。

最佳答案

您应该阅读有关 Curator 错误处理的说明(注:我是 Curator 的主要作者):http://curator.apache.org/errors.html以及技术说明 12:https://cwiki.apache.org/confluence/display/CURATOR/TN12

TL;DR 是,如果连接失败(暂停),您应该假设您的锁丢失并中断任何持有锁的线程。如果您非常小心,您可以等到连接变为“丢失”,但我的建议是始终假设“暂停”意味着您不再持有锁定。

关于java - 重新连接后 Curator 互斥锁失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44024409/

25 4 0