zk分布式锁(yet)

其实如果有客户端C、客户端D等N个客户端争抢一个zk分布式锁,原理都是类似的。

  • 大家都是上来直接创建一个锁节点下的一个接一个的临时顺序节点

  • 如果自己不是第一个节点,就对自己上一个节点加监听器

  • 只要上一个节点释放锁,自己就排到前面去了,相当于是一个排队机制

而且用临时顺序节点的另外一个用意就是,如果某个客户端创建临时顺序节点之后,不小心自己宕机了也没关系,zk感知到那个客户端宕机,会自动删除对应的临时顺序节点,相当于自动释放锁,或者是自动取消自己的排队。

 

https://m.imooc.com/article/284956?block_id=tuijian_wz

https://blog.csdn.net/crazymakercircle/article/details/85956246

posted on 2019-08-25 21:15  silyvin  阅读(221)  评论(0编辑  收藏  举报