基础概念

本章介绍分布式 ID 的基础概念和核心特性要求,为后续学习各种方案打下基础。

评价一个分布式 ID 方案,不能只问“会不会重复”。生产系统通常同时关注唯一性、趋势递增、长度、可读性、生成性能、可用性、可扩展性和安全性。某个方案在一个维度上很强,往往会在另一个维度上付出代价。

唯一性是底线。一个订单 ID 或主键一旦冲突,就可能导致数据覆盖、支付串单或幂等判断失效。趋势递增则影响存储引擎表现:完全随机的 ID 会让 B+Tree 索引频繁分裂,写入放大;大致递增的 ID 可以提升插入局部性,但也可能暴露业务增长趋势。

高可用和性能决定 ID 服务能不能放在核心链路上。下单、发消息、写日志都不能长期等待 ID 服务恢复,因此系统要考虑本地生成、缓存号段、降级策略和多节点部署。吞吐也要按峰值估算,而不是按日均请求量估算。

本章会把这些评价标准变成后续方案比较的尺子。学完后,你应该能看到:UUID 强在无中心但弱在索引友好性,数据库自增强在简单一致但弱在扩展性,Redis 强在性能但依赖外部存储,雪花算法强在本地生成但受时钟影响,号段模式强在吞吐但需要号段服务治理。

后续每一种方案都会回到这组指标上重新评估。这样读者不会把课程理解成“方案大全”,而是能逐步建立分布式 ID 的选型框架。

章节