扩容与成本
分库分表最贵的动作不是搭建,而是扩容。16 片跑了两年后,订单量又翻了一倍,每片 4000 万行重新逼近单片舒适区。扩容意味着分片数变了、路由规则变了、历史数据要搬家,而且线上不能停。本篇讲我们如何用「翻倍扩容加双写迁移」把 16 片扩到 32 片,以及这套体系每年的账是怎么算的。扩容方案的设计思路与 go 实战:微服务 CPS 里的容量规划是同一套方法论:先算余量再谈动作。
| 章节 | 内容 | 你将获得 |
|---|---|---|
| 5.1 扩容 | 加片与数据迁移 | 翻倍扩容的五步迁移流程 |
| 5.2 双写 | 迁移期的影子库 | 双写比对与回滚开关 |
| 5.3 备份恢复 | 分片粒度 | 分片级备份与恢复演练 |
| 5.4 成本复盘 | 十亿行多少钱 | 三年 TCO 与降本手段 |
扩容这件事,「一次规划到位」是理想,「迟早需要扩」是现实。第一年我们咬定 16 片不扩,靠归档与索引治理撑住了容量;第二年撑不住时,因为路由算法提前选了「翻倍即哈希多取一位」的方案,扩容才没有伤筋动骨。本篇会反复强调一个观点:扩容成本应该在最初选路由算法时就计入决策,而不是等到扩容那天才临时抱佛脚。
延伸阅读
- go 实战:微服务 CPS:集群容量规划与扩容节奏的对照实践
- k8s 实战:发布流水线:迁移切换同样需要灰度与回滚门禁
