流程
算法流程
利用Zookeeper的EPHEMERAL_SEQUENTIAL(临时顺序)节点及watcher机制,创建的节点都是有顺序的,每次选择最小编号的节点获得锁。当前节点watcher上一个节点,当上一个节点被删除时,当前节点成为最小节点,获得锁
(1)如果锁空间的根节点不存在,首先创建Znode根节点。假设为“/mylock”,代表了一把分布式锁。
(2)客户端如果需要占用锁,则在“/test/lock”下创建临时的且有序的子节点。尽量使一个有意义的子节点前缀,比如“/mylock/seq-”,第一个客户端对应的子节点为“/mylock/00000”,第二个为 “/mylock/00001” ,以此类推。
(3)判断自己创建的子节点是否为当前子节点列表中序号最小的子节点。如果是则认为获得锁,否则监听前一个Znode子节点变更消息,获得子节点变更通知后重复此步骤直至获得锁;
(4)获取锁后,开始处理业务流程。完成业务流程后,删除对应的子节点,完成释放锁的工作。以便后面的节点获得分布式锁。
因为zk创建的临时节点,如果zk心跳检测客户机宕机,自动删除节点
文章转载自董源龙,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1220次阅读
2025-04-27 16:53:22
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
690次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
588次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
571次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
495次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
471次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
465次阅读
2025-04-30 12:17:50
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
355次阅读
2025-04-18 10:01:22
国产数据库图谱又上新|82篇精选内容全览达梦数据库
墨天轮编辑部
269次阅读
2025-04-23 12:04:21
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
数据库运维之道
246次阅读
2025-04-28 11:01:25