distributed-tool 分布式常用工具组件开源项目

我要开发同款
匿名用户2018年08月16日
66阅读
开发技术Java
所属分类服务器软件、分布式应用/网格
授权协议Apache

作品详情

项目介绍

一个分布式常用工具组件。例如:分布式缓存、分布式序列号生成器、分布式锁、分布式订阅发布等等。

软件架构

目前项目分两个module,distributed-tool和distributed-tool-test。前者是核心源码。后者是测试代码。distributed-tool主要分如下组件:

client所有的核心组件依赖模块,主要提供了最简单的分布式set、get、del、incre等操作。(V1.0支持)

cache简单的分布式缓存模块。(V1.0支持)

sequence分布式序列号生成组件。(V1.0支持)

版本更新

V1.0支持分布式缓存、分布式序列号生成组件

Maven引用<dependency>    <groupId>com.xuanner</groupId>    <artifactId>distributed-tool</artifactId>    <version>1.0</version></dependency>

使用说明

(1)核心Client使用(一般不建议直接使用,但是后面的所有分布式组件都基于他来开发的,目前使用了Redis来做实现方案)

构建DtClient

protected DtClient buildClient() {    RedisClient redisClinet = new RedisClient();    redisClinet.setHost("localhost");    redisClinet.setPort(1234);    redisClinet.setAuth("1234");    redisClinet.init();    return redisClinet;}

代码使用

protected DtClient buildClient() {    DtClient client = buildClient();    client.set("key", "value", 10);    client.get("key");    client.del("key");    client.exists("key");}

(2)分布式缓存工具使用

构建CacheClient

protected CacheClient buildCacheClient() {    DefaultCacheClient defaultCacheClient = new DefaultCacheClient();    defaultCacheClient.setClient(buildClient());    return defaultCacheClient;}

代码使用

CacheClient cacheClient = buildCacheClient();cacheClient.set("key", "value", 60);cacheClient.get("key");cacheClient.del("key");cacheClient.setBulk(map, 60);cacheClient.getBulk(list);cacheClient.del(list);

(3)分布式序列号使用

构建Sequence

protected Sequence buildSequence() {    DefaultSequence defaultSequence = new DefaultSequence();    defaultSequence.setClient(buildClient());    defaultSequence.setStep(1000);//步长,如果需要严格连续序号可以设置:1    defaultSequence.setStepStart(0);//序列号开始位置    return defaultSequence;}

代码使用

Sequence sequence = buildSequence();sequence.nextId();

后续支持功能

分布式订阅发布(通知功能)

分布式锁

联系方式

姓名:徐安

邮箱:javaandswing@163.com

QQ:349309307

个人博客:xuanner.com

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论