基于zookeeper实现高性能分布式锁

JAVA学习网 2018-04-13 08:50:01

本文章用于面试展示,具体细节以及排版正在编辑,暂时先写下来实现原理

实现原理:利用zookeeper的持久性节点和Watcher机制

具体步骤:

  1、创建持久性节点 zkLock

  2、在此父节点下创建子节点列表,name按顺序定义

  3、Java程序获取该节点下的所有顺序子节点,并且按照从小到大的顺序排列

  4、取出最小的节点,如果该节点在所有顺序子节点列表中index等于0,代表成功获取到锁资源

    否则将给比当前节点还小的节点注册监听事件,利用Watcher机制动态观察节点的删除事件

  5、删除子节点即释放锁资源

阅读(708) 评论(0)