ID生成器
[👉 源码](https://github.com/geniusay/Assistant)
<dependency>
<groupId>io.github.geniusay</groupId>
<artifactId>assistant-boot-start</artifactId>
<version>1.1.1</version>
</dependency>
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# ID生成器
简述
提供多种ID生成器,支持自定义配置,支持分布式。
# 📜已有生成器
生成器名称 | 描述 |
---|---|
雪花ID生成器 | 基于注册机的分布式雪花ID生成器,支持单机生成和分布式生成 |
UUID生成器 | UUID生成器 |
# 一,导入依赖
注意
请确保项目中引入了assistant-boot-starter依赖
<dependency>
<groupId>io.github.geniusay</groupId>
<artifactId>assistant-service</artifactId>
<version>尽量boot-starter版本同步</version>
</dependency>
1
2
3
4
5
2
3
4
5
# 二,生成器介绍
# 雪花ID生成器
简述
本雪花ID为分布式雪花ID生成器,包含机器ID,数据中心ID,同时校验,时钟回拨问题解决,ID分发注册机,满足大部分的分布式环境需求,目前每台机器1s内可以生成400w个序列号
# ID注册机:
默认ID注册机:由用户提供,默认为0,参考下方配置项,分配时需要各个集群部署人员商量 RedisID注册机:通过Redis进行自动的数据中心ID和机器ID分配
注意
注:使用RedisID注册机时,需要导入assistant-cache依赖
<dependency>
<groupId>io.github.geniusay</groupId>
<artifactId>assistant-cache</artifactId>
</dependency>
1
2
3
4
2
3
4
配置项说明
workerId: 机器ID范围 [0,31] 仅在默认ID注册机下生效
dataCenterId: 数据中心范围 [0,31] 仅在默认ID注册机下生效
startTime: 服务启动时间,不填写默认为 2023-11-11 00:00:00 ,如果要填写应当小于当天时间切记上线后不要更改该项
register: 使用其他注册机{register-redis:redisId注册机}
1
2
3
4
2
3
4
参考配置项
assistant:
service:
id:
snowflake:
workerId: 1
dataCenterId: 1
register: register-redis
startTime: 2023-12-05 00:00:00
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 使用
@Resource
SnowflakeGenerator snowflakeGenerator;
public void testSnowflakeGenerator() throws IdGeneratorException {
snowflakeGenerator.generate();
}
1
2
3
4
5
6
2
3
4
5
6
# UUID生成器
# 使用```
@Resource
UUIDGenerator uuidGenerator;
@Test
public void testUUIDGenerator(){
uuidGenerator.generate();
}
1
2
3
4
5
6
7
2
3
4
5
6
7
帮助我们改善此页面! (opens new window)
上次更新: 2024/06/22, 16:36:11