通用lock框架
项目特点
项目已在github开源,开源地址
如有问题或对此模块感兴趣,欢迎博客评论及github issue
- 集成分布式锁能力,starter依赖即可使用分布式锁能力
- 抽象分布式锁的集成,方便快速切换分布式锁方案(目前支持jvm,redis,zookeeper)
- 锁的调用基于spring lockRegistry以及java lock顶层接口,调用统一,支持多厂商实现(可同时使用),支持切换,支持扩展,
- 支持多种锁类型,可重入锁,读锁,写锁等
- 提供注解方式支持,并提供更强大方便的能力
- lock能力增强,支持本地预锁,事务感知,死锁检测
- 提供方法级定制以及全局定制能力
一:框架集成
1.引入核心依赖
<dependency>
<groupId>com.ty</groupId>
<artifactId>ty-framework-lock-starter</artifactId>
<version>${最新版本}</version>
</dependency>
2.使用redis厂商lock默认实现Redisson
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.18.0</version>
</dependency>
3.使用zookeeper厂商lock
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>3.18.0</version>
</dependency>
以上2,3配置可选一种,如有需要可同时使用,注意
- 使用redis方式需要按照spring-boot配置好redis的配置
- 使用zookeeper方式,框架提供zookeeper快速集成配置,配置demo如下
framework:
zookeeper:
address: 127.0.0.1:2181 #zookeeper连接地址