分布式ID生成方案详解:雪花算法 vs 步长ID
一、核心需求
- 全局唯一性:集群中绝不重复
- 有序性:有利于数据库索引性能
- 高可用:每秒至少生成数万ID
- 低延迟:生成耗时<1ms
二、雪花算法(Snowflake)
1. 数据结构(64位)
0 | 0000000000 0000000000 0000000000 0000000000 0 | 00000 | 00000 | 000000000000----------------------------------------------------------------------------1位符号位 | 41位时间戳(毫秒级) | 5位数据中心ID | 5位机器ID | 12位序列号
- 时间戳:可使用69年(2^41/1000/3600/24/365)
- 序列号:单机每