[TOC]
分布式ID的特点
- 全局唯一性
- 不能出现有重复的ID标识,这是基本要求。
- 递增性
- 确保生成ID对于用户或业务是递增的。
- 高可用性
- 确保任何时候都能生成正确的ID。
- 高性能性
- 在高并发的环境下依然表现良好。
雪花算法
1.第一位 占用1bit,其值始终是0,没有实际作用。
2.时间戳 占用41bit,精确到毫秒,总共可以容纳约69年的时间。
3.工作机器id 占用10bit,其中高位5bit是数据中心ID,低位5bit是工作节点ID,做多可以容纳1024个节点。
4.序列号 占用12bit,每个节点每毫秒0开始不断累加,最多可以累加到4095,一共可以产生4096个ID。
每个节点每毫秒可以产生 4096 个 ID, 最多支持 1024 个节点,所以,极限是每毫秒产生 400 w 个 ID。