雪花算法主键结构
| 部分 | 长度 | 含义 |
|---|---|---|
| 1 | 1 | 符号位,固定值 |
| 2 | 41 | 时间戳,2^41 / (365 * 24 * 60 * 60 * 60 * 1000) = 69 年 |
| 3 | 10 | 工作进程数,2^10 = 1024 台服务器 |
| 4 | 12 | 序列号数量,2^12 = 4096,同一毫秒数,1 台服务器可以生成 4096 个主键 |
分布式主键生成开源组件
| 公司 | 组件 | 特点 |
|---|---|---|
| 百度 | uid-generator | 仅支持雪花算法,无人维护 |
| 滴滴 | Tinyid | 仅支持号段模式,高可用 |
| 美团 | Leaf | 支持号段模式与雪花算法 |
补充:号段模式与主键自增模式相似,但号段模式从数据库获取号码段缓存在本地,提升生成效率