zookeeper实现分布式锁

实现分布式锁有三种方式
1.   redis。 setNX 存在则会返回0, 不存在
2.   数据方式去实现
创建一个表, 通过索引唯一的方式
create table (id , methodname …)   methodname增加唯一索引
insert 一条数据XXX   delete 语句删除这条记录
mysql  for update

3.   zookeeper实现排他锁 利用临时有序节点的特性和watcher来实现  代码如下所示:

zookeeper实现分布式锁

zookeeper实现分布式锁

zookeeper实现分布式锁

zookeeper实现分布式锁


运行main函数得到结果如下图所示:

zookeeper实现分布式锁