分布式锁核心流程-zookeeper-基于同名节点实现

流程

  1. 所有节点都去创建临时lock节点,同一个目录下所有节点的名字是唯一的,因此只有一个节点创建成功
  2. 创建成功的节点就获取到锁
  3. 创建失败的节点监听lock节点,当它lock节点删除的后,重新创建节点进入下一次抢锁过

缺点

  • 获取锁的线程可以主动删除节点释放锁,或者等连接关闭后临时节点会自动删除,但是如果一直持有呢?缺少超时机制
  • 所有抢锁的节点都会去一起创建,如果并发很高的话,每次只有一个节点获取成功,抢的过程很浪费资源。确少排队机制

 

 

分布式锁核心流程-zookeeper-基于同名节点实现