微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

distributed-tool 分布式常用工具组件

程序名称:distributed-tool

授权协议: Apache

操作系统: 跨平台

开发语言: Java

distributed-tool 介绍

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

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

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

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

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

  1. V1.0 支持分布式缓存、分布式序列号生成组件
<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();

  1. 分布式订阅发布(通知功能

  2. 分布式锁

  1. 姓名:徐安

  2. 邮箱:[email protected]

  3. QQ:349309307

  4. 个人博客:xuanner.com

distributed-tool 官网

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐