一个分布式常用工具组件。例如:分布式缓存、分布式序列号生成器、分布式锁、分布式订阅发布等等。
软件架构目前项目分两个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
评论