Distributed Synchronize 分布式同步组件
- 分布式锁.
- 基于Netty长连接实现.
- 自定义协议,内置等待队列,性能远超redis锁.
- 服务下线立刻感知,无需等待超时.
- 支持优雅关闭.
- 规避Redis分布式锁缺陷: http://zhangtielei.com/posts/blog-redlock-reasoning.html , http://zhangtielei.com/posts/blog-redlock-reasoning-part2.html
启动服务端
java -jar -server dsync-dominate-xxx.jar
启动jar可以在maven下载,或者下载源码 mvn package
获得.
分布式锁 DLock
- 添加依赖
<dependency>
<groupId>cn.cyejing</groupId>
<artifactId>dsync-toolkit</artifactId>
</dependency>
- 使用方法
Config config = Config.config().host("localhost").port(4843); //配置服务端地址
DSync dSync = DSync.create(config);
DLock lock = dSync.getLock();
try {
lock.lock("adder");
//Do Something
} finally {
lock.unlock();
}