|
|
@@ -108,9 +108,9 @@ QQ群:646049993 |
|
|
|
|
|
|
|
## 💎 ID示例
|
|
|
|
|
|
|
|
🟣 本算法生成的 ID ,是一串整数,最多8字节。以下是基于默认配置生成的ID:
|
|
|
|
🟣 本算法生成的 ID ,是整数(占用空间最多8字节),以下是基于默认配置生成的ID:
|
|
|
|
```
|
|
|
|
129053495681099 (本算法运行1年)
|
|
|
|
129053495681099 (运行1年)
|
|
|
|
387750301904971 (运行3年)
|
|
|
|
646093214093387 (运行5年)
|
|
|
|
1292658282840139 (运行10年)
|
|
|
@@ -118,7 +118,7 @@ QQ群:646049993 |
|
|
|
165399880288699493 (普通雪花算法生成的ID)
|
|
|
|
```
|
|
|
|
|
|
|
|
🟣 本算法生成的 ID 值,是 js Number 最大值的 1%-10%,是普通雪花算法值的千分之一,而计算能力却超过普通雪花算法。
|
|
|
|
🟣 本算法生成的 ID 值,是 js Number 最大值的 1%-10%,是普通雪花算法值的千分之一,而生成速度却超过普通雪花算法。
|
|
|
|
|
|
|
|
🟣 js Number 类型最大数值:9007199254740992,本算法在保持并发性能(5W+/0.01s)和最大64个 WorkerId(6bit)的同时,能用70年才到 js Number Max 值。
|
|
|
|
|
|
|
@@ -131,6 +131,8 @@ QQ群:646049993 |
|
|
|
|
|
|
|
### 能用多久
|
|
|
|
|
|
|
|
能用多久的解释,是指生成的ID数字,何时能增长到超过 long(有符号64位,8字节)最大值。
|
|
|
|
|
|
|
|
🔵 在默认配置下,ID可用 71000 年不重复。
|
|
|
|
|
|
|
|
🔵 在支持 1024 个工作节点时,ID可用 4480 年不重复。
|
|
|
@@ -153,7 +155,7 @@ QQ群:646049993 |
|
|
|
|
|
|
|
## 💎 常规集成
|
|
|
|
|
|
|
|
1️⃣ 用单例模式调用。外部集成方使用更多的实例并行调用本算法,不会增加ID产出效能,因为本算法采用单线程模式生成ID。
|
|
|
|
1️⃣ 用单例模式调用。外部集成方使用更多的实例并行调用本算法,不会增加ID产出效能,因为本算法采用单线程生成ID。
|
|
|
|
|
|
|
|
2️⃣ 指定唯一的 WorkerId。必须由外部系统确保 WorkerId 的全局唯一性,并赋值给本算法入口方法。
|
|
|
|
|
|
|
@@ -167,10 +169,12 @@ QQ群:646049993 |
|
|
|
|
|
|
|
7️⃣ 不要修改核心算法。本算法内部参数较多,逻辑较为复杂,在你尚未掌握核心逻辑时,请勿尝试修改核心代码且用于生产环境,除非通过大量细致、科学的测试验证。
|
|
|
|
|
|
|
|
8️⃣ 应用域内配置策略相同。当系统运行一段时间后,项目需要从程序指定 WorkerId 转到自动注册 WorkerId 时,请确保同一应用域内所有在用实例采用一致的配置策略。
|
|
|
|
|
|
|
|
|
|
|
|
## 💎 配置变更
|
|
|
|
|
|
|
|
配置变更指是系统运行一段时间后,再变更运行参数(IdGeneratorOptions选项值),请注意:
|
|
|
|
配置变更指是系统运行一段时间后,再调整运行参数(IdGeneratorOptions 选项值),请注意:
|
|
|
|
|
|
|
|
🔴 1.最重要的一条原则是:BaseTime **只能往前**(比老值更小、距离现在更远)赋值,原因是往后赋值极大可能产生相同的时间戳。[**不推荐**在系统运行之后调整 BaseTime]
|
|
|
|
|
|
|
|