|
|
@@ -119,12 +119,21 @@ WorkerIdBitLength = 6 |
|
|
|
SeqBitLength = 6
|
|
|
|
```
|
|
|
|
|
|
|
|
## 💎 关于ID
|
|
|
|
## 💎 ID组成
|
|
|
|
|
|
|
|
本算法生成的 ID ,是一串整数,最多8字节。
|
|
|
|
* 雪花算法的ID由3部分组成:
|
|
|
|
* +-------------------------+------------+---------+
|
|
|
|
* | 1.相对基础时间的时间差 | 2.WorkerId | 3.自增数 |
|
|
|
|
* +-------------------------+------------+---------+
|
|
|
|
* +-------------------------+--- 6 bits --+- 6 bits -+
|
|
|
|
*
|
|
|
|
* 第1部分,时间差,是生成ID时的系统时间减去 BaseTime 的总时间差(毫秒单位)。
|
|
|
|
* 第2部分,WorkerId,是区分不同机器或不同应用的唯一ID,最大值由 WorkerIdBitLength(默认6)限定。
|
|
|
|
* 第3部分,自增数,是每毫秒下的自增数,由参数中的 SeqBitLength(默认6)限定。
|
|
|
|
|
|
|
|
🟣 ID示例(基于默认配置):
|
|
|
|
## 💎 ID示例
|
|
|
|
|
|
|
|
🟣 本算法生成的 ID ,是一串整数,最多8字节。以下是基于默认配置生成的ID:
|
|
|
|
```
|
|
|
|
129053495681099 (本算法运行1年)
|
|
|
|
387750301904971 (运行3年)
|
|
|
@@ -196,19 +205,6 @@ redis作用 |
|
|
|
🔎 在集成“自动注册WorkerId”功能时,用于注册 WorkerId ,不用于生产 ID。
|
|
|
|
|
|
|
|
|
|
|
|
## 💎 ID组成
|
|
|
|
|
|
|
|
* 雪花算法的ID由3部分组成:
|
|
|
|
* +-------------------------+------------+---------+
|
|
|
|
* | 1.相对基础时间的时间差 | 2.WorkerId | 3.自增数 |
|
|
|
|
* +-------------------------+------------+---------+
|
|
|
|
* +-------------------------+--- 6 bits --+- 6 bits -+
|
|
|
|
*
|
|
|
|
* 第1部分,时间差,是生成ID时的系统时间减去 BaseTime 的总时间差(毫秒单位)。
|
|
|
|
* 第2部分,WorkerId,是区分不同机器或不同应用的唯一ID,最大值由 WorkerIdBitLength(默认6)限定。
|
|
|
|
* 第3部分,自增数,是每毫秒下的自增数,由参数中的 SeqBitLength(默认6)限定。
|
|
|
|
|
|
|
|
|
|
|
|
## 💎 已实现的语言
|
|
|
|
|
|
|
|
| 语言 | github | gitee |
|
|
|
|