序言
分布式锁在主流实现技术上主要有以下三种:
- 基于redis实现,比如redis官方推荐的redisson
- 基于数据库实现,比如借助unique key
- 基于zookeeper,主要是临时文件路径+session
至于优劣可参考另外一篇博客。本篇博客演示的是zookeeper结合apache的curator实现分布式锁。
maven依赖
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.2.0</version>
<exclusions>
<!-- 防止zookeeper版本冲突 -->
<exclusion>
<artifactId>zookeeper</artifactId>
<groupId>org.apache.zookeeper</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.2.0</version>
<exclusions>
<exclusion>
<artifactId>zookeeper</artifactId>
<groupId>org.apache.zookeeper</groupId>
</exclusion>
</exclusions>
</dependency>
配置文件
application.yml
z