zookeeper-分布式锁

zookeeper 分布式锁原理

主要操作:获取锁则创建节点,使用完锁删除节点

具体步骤:

  1. 创建一个表示锁的节点 lock
  2. 客户端获取锁时,在lock 节点下创建临时有序节点
  3. 获取lock节点下的所有子节点,如果发现自己创建的节点在所有节点中序号最小则判断为获取到锁,使用完后删除节点
  4. 如果自己注册的节点不是最小没有获取到锁,按照顺序向比自己小的节点注册监听删除事件
  5. 监听到时间后重复3的操作

为什么是临时节点: 防止服务挂掉后节点一直不能删除阻塞住

主要实现的是公平锁

curator 中锁

InterProcessSemaphoreMutex:分布式排它锁(非可重入锁)

InterProcessMutex:分布式可重入排它锁

InterProcessReadWriteLock:分布式读写锁

InterProcessMultiLock: 将多个锁作为单个实体管理的容器

InterProcessSemaphoreV2:共享信号量

posted @ 2022-04-13 14:57  原来是晴天啊  阅读(39)  评论(0编辑  收藏  举报