• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

distributed-tool-parent: 一个分布式常用工具组件。例如:分布式缓存、分布式序列号 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

distributed-tool-parent

开源软件地址:

https://gitee.com/xuan698400/distributed-tool

开源软件介绍:

distributed-tool

项目介绍

这是一个分布式常用工具组件。其中包括但不限于:
分布式List、分布式Set、分布式Long、分布式信号量、分布式缓存、分布式锁、分布式序列号生成器、分布式订阅发布模式等常用工具类
目前微服务开发的系统很多,这个就涉及到分布式集群问题。像以前如果是单机,那么这些解决方案都可以使用JVM的API来实现
但在分布式环境下,这些API都不可用,所以急需一套分布式的API来支持这种常用操作,那么我来提供了,后面持续添加各种分布式常用工具类
注意:所有组件目前都是线程不安全,如果多线程请使用多实例,或者自己加同步锁

软件架构

目前项目分两个module,distributed-tool和distributed-tool-test。前者是核心源码。后者是测试代码。
distributed-tool主要分如下模块:分布式List、分布式Set、分布式Long、分布式信号量等

  1. core 提供基本分布式组件。(V1.3支持)
  2. cache 简单的分布式缓存模块。(V1.3支持)
  3. lock 分布式锁。(V1.3支持)
  4. pubsub 分布式订阅发布组件。(V1.3支持)
  5. sequence 分布式序列号生成器。(V1.3支持)

版本更新

V1.0版本
  • 新增client模块(所有工具组件的核心)
  • 新增cache模块(分布式缓存工具)
  • 新增sequence模块(分布式序列号生成工具)
V1.1版本
  • 新增pubsub模块(订阅发布模块)
V1.2版本
  • 新增queue模块(分布式队列)
  • 重构底层DtClient模块,该模块线程不安全,如果多线程操作,需要自己同步锁,或者新建不同实例
  • 新增全局单例Dt类,初始化一次后,后面使用各组件不用在设置DtClient的工厂类
V1.3版本
  • 重构底层实现,时用户使用更加的方便
  • 新增分布式锁
  • 新增分布式信号量
V1.4版本
  • 支持Redis的主备模式+哨兵部署

Maven引用

<dependency>    <groupId>com.xuanner</groupId>    <artifactId>distributed-tool</artifactId>    <version>1.3</version></dependency>

使用教程

初始化(目前底层使用了Redis来实现,所以使用Redis方式初始化)

Dt.getInstance().initJedis("xxx", 8380, "xxx");

销毁(注意,在应用的结束生命周期上加上销毁代码,例如Spring的destroy周期)

Dt.getInstance().getDefaultJedisFactory().destroy();

一个分布式List使用例子

DtList list = Dt.newDtList("listName");list.pushLeft(new String[] { "a", "b" });list.popLeft();list.close();//使用完毕记得close

一个分布式缓存锁使用例子

DtLock lock = Dt.newDtLock("lockName");String kId = lock.tryLock();//你的临界资源操作逻辑lock.unLock(kId);lock.close();//使用完毕记得close

更多使用教程:https://gitee.com/xuan698400/distributed-tool/wikis/

后续支持功能

  1. 分布式限流工具

联系方式

  1. 姓名:徐安
  2. 邮箱:[email protected]
  3. QQ:349309307
  4. 个人博客:xuanner.com
  5. 交流群:813221731(群名称:xsequence交流,群备注:分布式开发交流)

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
sequence: 分布式系统唯一ID生成方法,ID生成达到100w/s发布时间:2022-03-25
下一篇:
second: cSphere-希云 Docker实训第二课代码发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap