基于zookeeper的分布式锁

xiaoxiao2021-02-28  40

基于zookeeper的分布式锁,原理很简单,大概分为以下几步:

1,启动服务,应用与zookeeper建立连接,同时建立根节点ROOT_LOCK。

2,在需要加锁的业务代码前调用lock方法加锁,业务代码后调用unlock方法解锁。

3,客户端连接zookeeper建立连接,并在lock_name下建立临时且有序的子节点,例如:/lock/lock-0000000000,第二个为/lock/lock-0000000001,以此类推。

4,客户端获取同一lock_name下所有子节点,判断自己是否序号最小,如果是,执行业务代码,业务代码执行完,释放锁,删掉临时节点,如果不是,zookeeper监听临时节点变更,直到获取到锁。

转载请注明原文地址: https://www.6miu.com/read-2150343.html

最新回复(0)