金丝雀与蓝绿的取舍
两种渐进发布思路的取舍:金丝雀按比例逐步放量、影响面小,但需要观测周期与足够的样本量才能下结论;蓝绿一次性整体切换、回滚快,但要求整套双环境、资源占用高。两者都不是免观测方案,数据库兼容与观测指标是共同前提,选择取决于流量规模与指标成熟度。
基本信息
| 金丝雀 | 按权重或用户逐步导入流量,影响面小 |
|---|---|
| 蓝绿 | 一次性整体切换,回滚靠切回旧环境 |
| 金丝雀成本 | 额外少量实例,观测周期较长 |
| 蓝绿成本 | 整套双环境资源,切换风险集中 |
| 共同前提 | 数据库向前兼容、指标可观测、回滚通道可用 |
典型使用场景
- 大流量服务:可做比例观测,金丝雀优先。
- 低频内部系统:流量不足做统计,蓝绿式整体切换。
- 数据库双写场景:谨慎选择需要同时双版本运行的方案。
- 合规切换:要求一次性完整切换并快速回退的场景。
- 混合使用:先备好蓝绿环境,再用金丝雀放量。
决策用语
决策用语
流量足以做比例观测 → 金丝雀
无法同时验证两版本 → 蓝绿式整体切换对比
| 维度 | 金丝雀 | 蓝绿 |
|---|---|---|
| 流量切换 | 按权重或用户逐步导入 | 一次性整体切换 |
| 资源占用 | 额外少量实例 | 整套双环境 |
| 回滚速度 | 切权重,秒级到分钟级 | 切回旧环境,分钟级 |
| 观测周期 | 需要多档停留与样本量 | 以切换前验证为主 |
| 适用 | 用户量大、指标可观测 | 发布频率低、要求快速回退 |
两者都要求数据库变更向前兼容;观测指标与回滚通道是共同前提,而不是仅看流量切换方式。
金丝雀不是走形式:每一档要有停留时间与判定标准,否则等于随机全量。
蓝绿要清理旧环境:长期并存会导致成本与配置漂移同步增长。