这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
数据库自增方案
数据库自增是最传统的 ID 生成方式。本章详细介绍单库自增、集群模式、步长策略和性能优化。
数据库自增的吸引力在于简单、直观、强一致。单库单表场景下,数据库天然保证 ID 单调递增和不重复,应用几乎不需要额外设计。很多系统的第一版都从这里开始,因为它符合最小实现原则。
问题会在规模扩大后出现。单点数据库成为 ID 生成瓶颈,跨库跨表后自增序列不再全局唯一,主库故障会影响所有依赖 ID 的写入链路。为了解决这些问题,系统会演进出步长策略、不同库设置不同起点、独立发号表和集群模式。
本章会重点分析这些演进方案的代价。步长策略可以避免不同节点冲突,但扩容和迁移要谨慎;独立发号表把 ID 能力服务化,但也引入中心节点可用性问题;批量取号可以降低数据库压力,但会产生号段浪费和实例重启后的空洞。
完成本章后,你会把数据库自增看成一个清晰的起点,而不是最终架构。它适合低规模、强顺序、运维简单的场景;当业务进入高并发和多库部署时,就需要 Redis、雪花算法或号段模式接手。
这一章的意义在于建立中心化发号的直觉:简单方案往往最容易解释和排障,但所有请求都汇聚到一个发号点时,容量、容灾和扩容策略就必须提前设计。