Browse Source

editreadme

tags/v1.0.0
zhouzj 4 years ago
parent
commit
a0b885a6f3
1 changed files with 29 additions and 3 deletions
  1. +29
    -3
      README.md

+ 29
- 3
README.md View File

@@ -4,7 +4,35 @@
用一种全新的雪花漂移算法,让ID更短、生成速度更快。
核心在于缩短ID长度的同时,还能保持每毫秒并发处理量(50W/0.1s),且能保持伸缩能力。

## 功能说明
## 需求来源

1.作为架构设计的你,肯定想要解决数据库主键唯一的问题。

2.你肯定希望这个主键是用最少的存储空间,索引速度更快的。

3.你还会考虑在分库分表(合库合表)的时候,主键值要能直接使用,并能反映业务时序。

4.如果这样的主键值太长,超过前端 JS Number 类型最大值,估计你会把 Long 型转换为 String 型,你肯定觉得有点不正常。

5.自增Guid占用空间大,可能也不是你想要的。

6.你希望系统能运行 100 年以上。


## 传统雪花算法的问题

1.生成的ID太长。

2.依赖外部缓存系统。

3.并发量不够。

4.不能解决时间回拨问题。

5.不支持后补生成前序ID。


## 雪花漂移算法特点

1.ID更短,是传统算法的几倍,用50年都不会超过 js Number类型最大值。(默认配置WorkerId是6bit,自增数是6bit)

@@ -18,8 +46,6 @@

6.不依赖任何外部缓存和数据库。(但WorkerId必须由外部指定)

7.目前是C#版,很快会出java、php等版本。


## 文件说明



Loading…
Cancel
Save