xsequence 1.6 发布,分布式序列号生成组件

栏目: 软件资讯 · 发布时间: 7年前

内容简介:项目介绍 微服务时代,我们需要生产一个连续的友好的序列号,例如订单号等。变得比较麻烦。 这里我提供了两种业界常用的解决方案来实现这个分布式序列号生成组件。 使用集中式存储功能取步长进行分配。目前支持数...

项目介绍

微服务时代,我们需要生产一个连续的友好的序列号,例如订单号等。变得比较麻烦。

这里我提供了两种业界常用的解决方案来实现这个分布式序列号生成组件。

  1. 使用集中式存储功能取步长进行分配。目前支持数据库(Mysql)、Redis

  2. 使用雪花算法获取连续序列号,保证多服务器集群不重复

组件存在的目的就是屏蔽序列号底层实现,支持多样化的算法。让用户开箱即用。方便开发。

Maven支持

<dependency>
    <groupId>com.xuanner</groupId>
    <artifactId>xsequence-core</artifactId>
    <version>1.6</version>
</dependency>

升级说明

v1.6
支持指定起始位置,例如需要60000起,那么就设置stepStart=60000,那么序列号就会从60000开始分配

简单使用

    //redis方式获取
    protected Sequence getRedisSequence() {
        /**
         * 参数说明如下:
         * ip:redis连接ip
         * port:redis连接port
         * auth:如果 redis 设置了密码权限需要设置,没有就可以不用设置
         * bizName:具体某中业务的序列号
         * step:[可选] 默认1000,即每次取redis获取步长值,根据具体业务吞吐量来设置,越大性能越好,但是序列号断层的风险也就越大
         */
        return RedisSeqBuilder.create().ip("xxx").port(6379).auth("xxx").step(1000).stepStart(
                60000).bizName("redis_test8").build();
    }

    //db方式获取
    protected Sequence getDbSequence() {
        //数据源
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl("xxx");
        dataSource.setUsername("xxx");
        dataSource.setPassword("xxx");
        dataSource.setMaxActive(300);
        dataSource.setMinIdle(50);
        dataSource.setInitialSize(2);
        dataSource.setMaxWait(500);

        /**
         * 参数说明如下:
         * dataSource:数据库的数据源
         * bizName:具体某中业务的序列号
         * step:[可选] 默认1000,即每次取redis获取步长值,根据具体业务吞吐量来设置,越大性能越好,但是序列号断层的风险也就越大
         */
        return DbSeqBuilder.create().dataSource(dataSource).step(1000).stepStart(1000000).bizName("test3").build();
    }

GIT主页地址

https://gitee.com/xuan698400/xsequence


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript王者归来

JavaScript王者归来

月影 / 清华大学出版社 / 2008-7 / 86.00元

你手中的这本《JavaScript王者归来》不仅是一本传播知识的书,更是一本求道的书。 本书分为五个部分循序渐进地与读者讨论了JavaScript的方方面面,从简单的语言基础到丰富的实际应用再到深入剖析语言本质的高级话题,字里行间包含着作者多年工作中对JavaScript实践乃至程序设计思想的深入思考和总结。 本书揭开了JavaScript的面纱,绕过误解和虚幻的表象,引领你探索程序王......一起来看看 《JavaScript王者归来》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具