这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
号段模式
号段模式(Segment)是一种高性能的分布式 ID 生成方案,它通过预分配 ID 号段来实现超高性能。本章详细介绍号段模式的原理、双 Buffer 机制和高可用设计。
号段模式的核心思想是批量取号:ID 服务不为每次请求访问数据库,而是一次从发号表中申请一段连续 ID,然后在内存中逐个发放。这样既保留了中心化序列的可控性,又把数据库压力从每个 ID 一次降低到每个号段一次。
本章会讲发号表设计、号段步长、业务 key 隔离和双 Buffer 机制。双 Buffer 的作用是在当前号段快用完时提前加载下一段,避免请求打到号段切换的空窗期。步长越大,数据库压力越低,但实例异常时浪费的 ID 越多;步长越小,浪费少但续租频繁。
号段模式适合需要高吞吐、趋势递增、可中心管控的业务。它比纯数据库自增性能更好,也比 Snowflake 更容易保持业务序列连续;但它仍然依赖号段服务和数据库高可用,需要处理发号服务扩容、号段预热、数据库故障和多业务隔离。
完成本章后,你应当能设计一套号段发号服务,并解释它如何在性能、空洞、可用性和运维复杂度之间取舍。你也会知道为什么很多大规模业务会把号段模式作为默认 ID 基础设施。