资料介绍
软件简介
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
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 折叠即服务分布式计算项目 0次下载
- 面向云服务的分布式消息系统动态负载均衡策略 12次下载
- 基于KingSCADA的分布式运动控制监测系统 9次下载
- 虚拟化模型驱动的分布式数据湖架构设计 5次下载
- 基于分布式数据Cache的实时动态迁移机制 20次下载
- 一种可行的分布式存储系统安全构造方法 21次下载
- 区块链中的分布式数据库管理系统相关研究 8次下载
- 一种分布式网络扫描架构和任务调度算法 19次下载
- 考虑电能质量问题的分布式光伏发电接入规划方法 0次下载
- 考虑谐波约束的多节点分布式光伏最大配置方案 0次下载
- 考虑多种调压措施的分布式光伏消纳能力研究 0次下载
- EAST分布式服务器集群系统的设计与实现_杨玉娇 0次下载
- 分布式并行服务器中的高性能通信研究 14次下载
- 广域分布式环境中面向服务的文件管理系统 20次下载
- 分布式对象调试中的事件模型 8次下载
- Java手写分布式锁的实现 209次阅读
- tldb提供分布式锁使用方法 396次阅读
- 深入理解redis分布式锁 503次阅读
- 鸿蒙分布式相机“踩坑”分享 1194次阅读
- Redis分布式锁真的安全吗? 672次阅读
- 基于超宽带传感器和惯性测量单元融合的定位算法 747次阅读
- 如何缓解DDoS(分布式拒绝服务)导致的性能下降 1159次阅读
- 基于Jini互联威廉希尔官方网站 实现分布式嵌入式系统的设计 2700次阅读
- 分布式光纤传感器原理_分布式光纤传感器的应用 8073次阅读
- 浅谈分布式存储的六大优点 8617次阅读
- Redis 分布式锁的正确实现方式 3286次阅读
- 分布式存储运维系统构架简析 2549次阅读
- 浅谈分布式块存储的元数据服务设计 4740次阅读
- 浅谈ddos攻击的原理_ddos攻击犯法吗 4828次阅读
- 分布式天线系统优势浅析 3007次阅读
下载排行
本周
- 1Labview实现自定义四维云图(三维曲面图像)可视化显示
- 4.80 MB | 43次下载 | 免费
- 2SM2246TX开卡资料分享
- 2.28 MB | 12次下载 | 10 积分
- 3开关电源芯片电路图集
- 25.83 MB | 11次下载 | 1 积分
- 4SM2246XT电路图
- 1.37 MB | 7次下载 | 5 积分
- 5SW6306V四口多协议升降压移动电源SOC中文手册
- 1.20 MB | 7次下载 | 1 积分
- 6运算放大器和比较器的基础知识
- 1.09 MB | 5次下载 | 3 积分
- 7TB67H452FTG一款PWM斩波型4通道H桥电机驱动器中文手册
- 0.72 MB | 2次下载 | 免费
- 8MOSFET并联(并联功率MOSFET之间的寄生振荡)
- 1.46 MB | 1次下载 | 2 积分
本月
- 1Labview实现自定义四维云图(三维曲面图像)可视化显示
- 4.80 MB | 43次下载 | 免费
- 2TI 10kW双向三相三级双向三相三级型 逆变器和逆变器和PFC参考设计
- 6.22 MB | 31次下载 | 免费
- 3实用电子电路500例
- 5.33 MB | 30次下载 | 1 积分
- 4基于51单片机TEA5767收音机数码管显示设计
- 0.69 MB | 15次下载 | 10 积分
- 5SM2246TX开卡资料分享
- 2.28 MB | 12次下载 | 10 积分
- 6PCB及电路设计的接地资料基础
- 0.42 MB | 11次下载 | 免费
- 7开关电源芯片电路图集
- 25.83 MB | 11次下载 | 1 积分
- 8奋斗STM32开发板V5原理图.pdf
- 0.15 MB | 10次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935107次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233082次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191351次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183327次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81576次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73800次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65984次下载 | 10 积分
评论
查看更多