首页/开发/CI/CD 与发布速查/单元化发布(Cell Rollout)
发布策略60 条

单元化发布(Cell Rollout)

把系统划分为独立运行单元:每个单元承载固定用户分片并具备完整服务能力;发布以单元为粒度推进,单元故障不扩散到其他单元。

CI/CD 与发布速查开发更新于 2026-10-13

单元化发布是什么

把系统划分为若干独立运行单元(Cell):每个单元内部是完整的服务集合,承载固定的用户分片;发布以单元为粒度逐个推进,异常时停住后续单元,故障影响被限定在确定的用户范围内。它把发布风险从按比例随机变成按分片确定,代价是架构复杂度与跨单元治理成本上升。

基本信息

单元定义独立部署、独立依赖、固定用户分片
发布粒度一次推进一个或少数单元
收益影响面固定且可预测
前提数据与缓存按分片隔离,单元自治
成本架构复杂度与跨单元治理
观测单元级 SLI 与跨单元流量视图

发布顺序示意

发布顺序示意
cell-3(金丝雀单元)→ cell-4 → cell-1 → cell-2  # 先小后大、先边缘后核心
每单元完成后观察 30 分钟  # 指标正常才推进下一个
任一单元异常:停止后续单元  # 影响限定在已更新单元
回滚路径:单单元回退 + 路由切回  # 单元内回滚不牵动全局

典型使用场景

  • 高可用系统发布:按单元推进降低爆炸半径
  • 区域合规:不同区域独立运行,发布按区域分开
  • 大客户隔离:专属用户分片单独安排发布窗口
  • 容量规划:单元粒度扩容,按分片负载调整
  • 故障演练:在单个单元做注入,验证隔离是否真实生效
  • 混部窗口:新旧版本单元并存时验证跨单元调用兼容

单元发布检查清单

项目检查内容
分片映射用户到单元的映射固定且可查
数据隔离数据库或缓存是否真正隔离
跨单元调用新版本对旧版本单元的兼容性
单元指标每个单元的 SLI 有独立视图
回退动作单单元回退路径演练过
单元化把影响面从比例变成确定的用户分片:适合可用性要求高的系统做发布设计。
单元间共享数据库或缓存时,隔离只停留在计算层,故障仍会跨单元扩散,发布前先核对数据边界。
单元数量别无限切:治理成本随数量上升,按业务与合规需要定。

易错点

  • 单元间共享数据库或缓存:故障仍会扩散。
  • 分片映射不固定:用户漂移导致影响面估算失真。
  • 跨单元调用不验证兼容:新单元把旧单元拖垮。
  • 单元指标不可视:异常只能靠全局告警发现,定位慢。
  • 单元数量过多:治理与运维成本失控。

数据来源与参考

  • AWS Well-Architected《Cell-Based Architecture》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌