ZK-分布式锁
2020-07-17 17:09:50 5 举报
详细描述zookeeper实现分布式锁
作者其他创作
大纲/内容
Session失效delete /lock/00?
不确定
3
失败:节点可能已经删除
理想情况
2
获取lock节点下所有子节点
完成任务(临界资源)
失败
watch过程
查找上一有效节点
无上一节点
0
创建2节点后,获取子节点可能的情况
监听成功
ls /lock
1
5
watch上一有效节点成功
释放锁删除节点
后续节点不影响最小节点判断
get -w /lock/00?
结束
判断是否为最小节点
开始
上一节点再删除或对应的Session失效时能回调
watch上一有效节点失败(watch前节点删除),再次查找上一节点
Watch上一个有效的节点
无上一有效节点
前面的节点存在且连续
成功
创建节点的客户端下线
是
watch回调通知
watch上一节点
前面无节点
watch到事件
delete /lock/00?
否
获得锁
获取成功
create -s -e /lock/
4
前面有节点单不连续
在lock节点下创建临时顺序节点
0 条评论
下一页