这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
分布式 ID
短码生成通常需要一个稳定的 ID 来源。小规模系统可以使用数据库自增 ID 再做 Base62 编码,但当服务拆分、数据库分片或多机房部署后,单点自增会限制扩展。分布式 ID 是短链接从单体应用走向平台化的重要基础。
本章会比较 Redis 计数器、Snowflake 和号段缓存三种方案。Redis 计数器简单高性能,但依赖 Redis 可用性和持久化;Snowflake 可以本地生成,适合高并发场景,但要处理时钟回拨和机器号分配;号段模式通过批量取号降低数据库压力,同时保留中心化管理能力。
短链接场景下,ID 不一定需要严格连续,但需要唯一、可扩展、可转换为短码,并能在异常时避免重复。ID 生成失败会直接影响创建链路,因此系统要有监控、降级和容量预估。对于自定义别名,系统还要把自动短码和用户短码放在同一套唯一性约束下治理。
完成本章后,你应当能为短链接系统选择 ID 生成方案,并说明它如何影响短码长度、创建吞吐、扩容方式和故障恢复。这里的分布式 ID 不是孤立知识点,而是短码编码和存储设计之间的连接层。
本章的验收标准是:你能解释为什么短链接不一定追求连续 ID,却必须避免重复和回退;也能说明不同发号方案在单机、分库分表、多机房和高峰创建时的风险。短码越短,容量和碰撞问题越需要提前算清楚。