资料介绍
软件简介
Simba 旨在提供易用、灵活的分布式锁服务,支持多种存储后端实现:关系型数据库、Redis、Zookeeper。
安装
Gradle
Kotlin DSL
Maven
application.yaml
simba: jdbc: enabled: true # redis: # enabled: true spring: datasource: url: jdbc:mysql://localhost:3306/simba_db username: root password: root
Optional-1: JdbcMutexContendService
Kotlin DSL
val simbaVersion = "0.3.2"; implementation("me.ahoo.simba:simba-jdbc:${simbaVersion}")
create table simba_mutex ( mutex varchar(66) not null primary key comment 'mutex name', acquired_at bigint unsigned not null, ttl_at bigint unsigned not null, transition_at bigint unsigned not null, owner_id char(32) not null, version int unsigned not null );
Optional-2: RedisMutexContendService
Kotlin DSL
val simbaVersion = "0.3.2"; implementation("me.ahoo.simba:simba-redis:${simbaVersion}")
Optional-3: ZookeeperMutexContendService
Kotlin DSL
val simbaVersion = "0.3.2"; implementation("me.ahoo.simba:simba-zookeeper:${simbaVersion}")
Examples
使用入门
MutexContender
MutexContendService contendService = contendServiceFactory.createMutexContendService(new AbstractMutexContender(mutex) { @Override public void onAcquired(MutexState mutexState) { log.info("onAcquired"); } @Override public void onReleased(MutexState mutexState) { log.info("onReleased"); } }); contendService.start();
SimbaLocker
try (Locker locker = new SimbaLocker("mutex-locker", this.mutexContendServiceFactory)) { locker.acquire(Duration.ofSeconds(1)); /** * doSomething */ } catch (Exception e) { log.error(e.getMessage(), e); }
Scheduler
public class ExampleScheduler extends AbstractScheduler implements SmartLifecycle { public ExampleScheduler(MutexContendServiceFactory contendServiceFactory) { super("example-scheduler", ScheduleConfig.ofDelay(Duration.ofSeconds(0), Duration.ofSeconds(10)), contendServiceFactory); } @Override protected String getWorker() { return "ExampleScheduler"; } @Override protected void work() { if (log.isInfoEnabled()) { log.info("do some work!"); } } }
Use Cases
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 分布式电源对配电系统的影响分析
- 基于Simulink的电子对抗分布式仿真系统 26次下载
- 基于KingSCADA的分布式运动控制监测系统 10次下载
- 基于DSP的航空发动机分布式总线设计方案 14次下载
- 虚拟化模型驱动的分布式数据湖架构设计 5次下载
- 基于分布式数据Cache的实时动态迁移机制 20次下载
- 一种可行的分布式存储系统安全构造方法 21次下载
- 一种分布式网络扫描架构和任务调度算法 19次下载
- 考虑谐波约束的多节点分布式光伏最大配置方案 0次下载
- 考虑多种调压措施的分布式光伏消纳能力研究 0次下载
- ZooKeeper分布式桥梁开发 0次下载
- 分布式网络审计系统的生存性设计
- 基于CAN 总线的分布式潜水电机监控系统
- 分布式并行服务器中的高性能通信研究
- 分布式对象调试中的事件模型
- Java手写分布式锁的实现 424次阅读
- tldb提供分布式锁使用方法 761次阅读
- 数据库如何实现分布式锁 4438次阅读
- 深入理解redis分布式锁 763次阅读
- redis分布式锁场景实现 619次阅读
- Redis分布式锁的10个坑 487次阅读
- 一文阐述Redis分布式锁的10个坑 502次阅读
- Redis分布式锁真的安全吗? 880次阅读
- 分布式锁的设计与实现 1563次阅读
- 使用Redis作为分布式锁的详细方案 1848次阅读
- 分布式锁的基本原理和案例实现 3186次阅读
- 分布式光纤传感器原理_分布式光纤传感器的应用 8424次阅读
- 浅谈分布式存储的六大优点 8838次阅读
- Redis 分布式锁的正确实现方式 3483次阅读
- 浅谈分布式块存储的元数据服务设计 4871次阅读
下载排行
本周
- 1美的电磁炉维修手册大全
- 1.56 MB | 5次下载 | 5 积分
- 2SMD LED选型手册 贴片灯珠
- 5.47 MB | 3次下载 | 免费
- 3基于PLC的拉丝机张力控制系统研究
- 0.14 MB | 2次下载 | 5 积分
- 4LZC3106G高性能谐振控制器中文手册
- 1.29 MB | 1次下载 | 1 积分
- 5JL2233B集成电平转换功能的LDO中文手册
- 0.50 MB | 1次下载 | 免费
- 6加密芯片的一种破解方法和对应加密方案改进设计
- 0.29 MB | 1次下载 | 免费
- 7万用表UT58A原理图
- 0.09 MB | 1次下载 | 5 积分
- 8BOSCH-REXROTH300拧紧系统常见故障及处理方法
- 0.06 MB | 次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 19次下载 | 免费
- 3华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 14次下载 | 3 积分
- 4DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 53314A函数发生器维修手册
- 16.30 MB | 13次下载 | 免费
- 6TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 7STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 8感应笔电路图
- 0.06 MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多