From a5f58771b686ebf0df657409c630c10e98e5504c Mon Sep 17 00:00:00 2001 From: zhouzj Date: Fri, 12 Mar 2021 00:38:33 +0800 Subject: [PATCH] editreadme --- README.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a5bb3ac..68a9050 100644 --- a/README.md +++ b/README.md @@ -80,12 +80,6 @@ 3.不想将 Long 型转 String 给前端用的项目。(若前端支持bigint,则可不转类型) -## 大型分布式使用建议 - -1.可扩大 WorkerIdBitLength 到最多20位,支持 1,048,576 个节点,且不影响上述并发性能(50W/0.1s)。 - -2.采用中心化 IdGenerator 集群,给节点生成可用 Id 列表,存入 Redis 队列供节点消费。此时64个中心化节点数足够大型互联网项目使用。 - ## 如何处理时间回拨 1.当发生系统时间回拨的时候,算法采用过去时序的预留序数生成新的ID。 @@ -109,6 +103,8 @@ ## ★★集成建议★★ +#### 常规集成 + 1.用单例模式调用。外部集成方使用更多的实例并行调用本算法,不会增加ID产出效能,因为本算法采用单线程模式生成ID。 2.指定唯一的 WorkerId。必须由外部系统确保 WorkerId 的全局唯一性,并赋值给本算法入口方法。 @@ -127,6 +123,16 @@ 8.轻易不要修改核心算法。本算法内部参数较多,逻辑较为复杂,在你尚未掌握核心逻辑时,请勿尝试修改核心代码并用于生产环境。 +#### 大型分布式集成 + +1.可扩大 WorkerIdBitLength 到最多20位,支持 1,048,576 个节点,且不影响上述并发性能(50W/0.1s)。本算法已支持。 + +2.采用中心化 IdGenerator 集群,给节点生成可用 Id 列表,存入 Redis 队列供节点消费。此时64个中心化节点数足够大型互联网项目使用。本算法不支持,集成方可扩展实现。 + +3.如果扩大了 WorkerIdBitLength ,就不必采用中心化 IdGenerator 集群的方法。采用中心化集群的方法一般是为了不增加 ID 的长度。 + + + ## 代码示例 #### 运行环境