栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

zookeeper分布式锁工作原理

zookeeper分布式锁工作原理

zookeeper分布式锁运用于解决跨多个机器进程间数据同步问题,如图1-1

图1-1

核心原理:当客户端获取锁时,会创建一个节点,使用完锁,便会删除节点

具体实现原理:(如图2-1)

图2-1

1.客户端获取锁时,会在该lock结点下建立临时顺序子节点。

临时结点是防止服务器宕机时,删除获取锁时所创建的子节点。

2.然后客户端获取访问lock下所有子节点,如果发现自己创建的子节点的序号最小(创立顺序子节点原因),则会默认获取到锁,当使用完锁后,便会删除该子节点。

3.如果发现自己所创建的子节点不是最小的,说明未获取锁,便会找到比自己小的子节点,并在该节点上注册监听机制(删除机制)。

删除机制:比自己小的子节点删除时,该节点会立马监测到,并和其他子节点比较序号大小,序号最小则获取锁。

图2-1工作流程为:

1.a1机器获取锁,访问完毕后,删除、/a1结点

2./a2监听到/a1删除,比较序号大小,确认自己为最小序号,获取锁,访问完毕后删除/a2节点

3./a3监听到/a2删除,比较序号大小,确认自己为最小序号,获取锁,访问完毕后删除/a3节点

若服务中途因特殊原因宕机,重启服务后会发现lock下子节点全部被删除了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/748260.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号