ZooKeeper应用场景-分布式锁实现范例

代码运行环境:

1、下载zookeeper-3.4.*.tar.gz源码包

2、新建一个java Project,例如TestProject

3、看到里面的zookeeper-3.4.*/recipes/lock目录,按照源码package路径paste到TestProject

1)WriteLockTest关联的类较多就不copy了

2)curator的jar包下载 https://repo1.maven.org/maven2/org/apache/curator/curator-recipes/

curator主页:http://curator.apache.org/curator-examples/index.html  

其他jar在zookeeper解压包中。

ZooKeeper应用场景-分布式锁实现范例_第1张图片

4、下载zookeeper的范例lock

https://github.com/sleberknight/zookeeper-samples/tree/master/src/main/java/com/nearinfinity/examples/zookeeper

这个包中提供了4种运行的方式,如红色标注的部分,如果只运行WorkerUsingBlockingWriteLock,就不需要curator的jar

如果运行WorkerUsingCurator和WorkerUsingWriteLockRecipe就需要curator的jar。

ZooKeeper应用场景-分布式锁实现范例_第2张图片

下面我们运行WorkerUsingBlockingWriteLock,由于目的是理解原理,只在本机上运行一个client,输出如下:

ZooKeeper应用场景-分布式锁实现范例_第3张图片


你可能感兴趣的:(Zookeeper,分布式锁范例)