
一、简介
- 这是一个超高性能唯一ID生成工具,支持docker一键部署,提供API接入功能
- 支持高性能生成Snowflake ID、Sonyflake ID、UUID v1、UUID v4、XID、KSUID以及自定义ID的服务
- 可以用来生成订单编号、学号、高标准唯一标识、有序ID等等
- 开源地址参考:https://github.com/luler/hello_id
二、安装部署
三、使用示例
1. 自带后台管理页面
2. 使用服务提供的API示例
2.1 使用API之前,需要在后台增加一个授权码,用于API调用授权

2.2 API使用示例
- postman调用生成自定义ID示例

2.3 更多接口文档信息
2.3.1 生成雪花id(基于时间、机器id、随机数生成,有序,整数类型)
接口: /api/snowflake
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
workerId | 否 | int | 机器ID,取值范围0-1023,默认0 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": {
"ids": [
"1711927875550052352"
],
"type": "snowflake",
"workerId": 0
},
"message": "创建成功"
}
2.3.2 生成sonyflake id(snowflake的改进版本,可用时间更长,有序,整数类型)
接口: /api/sonyflake
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": {
"ids": [
"482279196769390593"
],
"type": "sonyflake"
},
"message": "创建成功"
}
2.3.3 生成uuid V1 (根据时间、Mac地址等信息生成,有时间顺序)
接口: /api/uuid1
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": {
"ids": [
"c9973b96-67db-11ee-89f2-00ff0c3e16f1"
],
"type": "uuid1"
},
"message": "创建成功"
}
2.3.4 生成uuid V4 (完全随机生成,无序)
接口: /api/uuid4
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": {
"ids": [
"f26cb76e-574b-4797-949e-85f449c77ee3"
],
"type": "uuid4"
},
"message": "创建成功"
}
2.3.5 生成xid(基于时间戳、随机数生成,有序)
接口: /api/xid
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": {
"ids": [
"ckj09svfe3qiv1150kr0"
],
"type": "xid"
},
"message": "创建成功"
}
2.3.6 生成ksuid(基于时间戳、随机数生成,随机数比xid更大,唯一性更好,有序)
接口: /api/ksuid
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": {
"ids": [
"2Wb9ZXX2OWPOpubXAKRLwQGn7cP"
],
"type": "ksuid"
},
"message": "创建成功"
}
2.3.7 生成自定义ID(简单定制化,原子有序)
接口: /api/getId
方法:GET
请求参数:
字段 | 是否必填 | 类型 | 描述 |
type | 是 | string | ID标识 |
length | 否 | int | 获取ID数量,默认1,最大500 |
authKey | 是 | string | 授权码 |
返回示例:
{
"code": 200,
"data": [
"20230930000000114.go"
],
"message": "获取成功"
}
四、总结
- 该工具可以提供高性能的ID生成服务,特别是自定义ID,配置灵活,使用简单,基本是纯内存生成唯一有序ID,可以集群部署无限扩展性能
- 开发必备组件,在很多需要ID生成的业务系统中,都有用武之地