功能介绍

​ 基于koca进行拓展,提供多种id的生成策略方便应用侧进行集成。

​ 1、uuid

​ 2、sequence_redis (基于redis生成序号,废弃koca的sequence实现)

​ 3、leaf_snowflake (雪花算法(koca反馈暂时有问题,基于特定版本)

​ koca主键:http://koca.szkingdom.com/docs/Back_End_Framework/Development_Boot/Id_Generator/Id_Generator.html

引用说明

maven配置

<dependency>
    <groupId>com.kingengine.kems.sdk</groupId>
    <artifactId>kems-sdk-idgen</artifactId>
</dependency>

yml配置

koca:
  idgenerator:
#    defaultStrategy: uuid      
#    defaultStrategy: sequence_redis 
    defaultStrategy: leaf_snowflake 

#美团 leaf 雪花算法配置,需依赖 zookeeper 注册中心
leaf:
  name: com.sankuai.leaf.opensource.test
  snowflake:
    enable: true #开关
    address: 10.201.40.51 # zookeeper ip地址
    prot: 2181 # zookeeper 端口

简单示例

主键生成器

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = {RedisSequenceConfiguration.class})
@EnableAutoConfiguration
public class IdGenTest {

    @Resource
    private IdGenerator idGenerator;

    @Test
    public void generate() {
        System.out.println(idGenerator.getId("demo"));
    }
}

业务序号生成器

@RunWith(SpringRunner.class)
@SpringBootTest
public class IdGenTest {

    @Test
    public void generate() {
        System.out.println(UniqueCodeUtils.getUniqueCode("test", 2));
    }
}
Copyright © 2017-2023 深圳金证引擎科技有限公司 all right reserved,powered by Gitbook该文件最后修订时间: 2023-09-01 14:01:37

results matching ""

    No results matching ""