一、分布式锁
分布式锁是控制分布式系统之间同步访问共享资源的一种方式。
二、zookeeper 分布式锁
1、客户端A创建临时顺序节点 demo
。并在节点下创建 x_00000001
。
2、客户端A判断是否自己是第一个节点,如果是就锁成功。
3、客户端B创建临时顺序节点 demo
。 并在节点下创建 x_00000002
。
4、客户端B判读是否自己是第一个节点,如果是第一个节点,就加锁成功。如果不是第一个节点就会创建第二个节点,然后创建一个监听器,监听上一个节点。
5、客户端A执行完业务逻辑之后,会释放锁,并且会删除顺序节点 x_00000001
。
6、zookeeper 服务器会通知客户端B,上级节点已经删除了。
7、客户端B会重新加锁。
三、注意事项
用临时顺序节点,如果某个客户端创建临时节点之后,不小心自己宕机了,zookeeper 服务器感知到哪个客户端宕机了,会自动删除对应的顺序节点。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。