灰度发布与回滚是什么
提示变更属于行为变更,应当走渐进式发布:先小流量分流,观察关键指标与错误率,异常时一键回滚。分流要按会话粘性进行——同一个会话在不同轮次拿到不同提示版本,会出现前后不一致的体验,也让指标归因变得混乱。回滚的关键是「快」:旧版本保持在位,切开关即可生效,不必重新发布应用,否则处理窗口会被拉长。
基本信息
| 适用平台 | 有流量分流能力的在线服务;提示与配置分离部署的系统 |
|---|---|
| 分流要求 | 按会话粘性分流,同一会话始终使用同一版本 |
| 观察指标 | 任务成功率、格式错误率、延迟、成本、投诉与转人工比例 |
| 回滚要求 | 旧版本保持在位,切开关即生效;观察窗口覆盖高峰期与低频路径 |
典型使用场景
- 提示改版上线:先 5% 流量验证再逐步放量
- 模型版本切换:与提示版本一起灰度,避免两个变量同时变化
- 工具链调整:新增工具后先小流量确认没有异常调用
- 紧急修复:线上问题修复版本优先小流量验证,确认后再全量
- 节假日与高峰期:避开高频时段放量,便于观察与回滚
灰度流程
灰度流程
# 1 候选版本上传(candidate),旧版本保持在线可切换
# 2 按 5% 流量分流:同会话粘性保持一致,避免体验抖动
# 3 观察:任务成功率、格式错误率、延迟、成本、投诉与转人工比例
# 4 通过 → 50% → 全量;异常 → 切回旧版本(分钟级生效)
# 5 记录:起止时间、样本量、指标对比、决策人
# 6 观察窗口:覆盖高低峰与低频路径;对低频链路延长观察时间阶段与关注点
| 阶段 | 流量比例 | 主要关注 |
|---|---|---|
| 影子对比 | 只记录不返回 | 输出差异与高风险切片退化 |
| 小流量灰度 | 个位数百分比 | 错误率、延迟、投诉 |
| 扩大灰度 | 约一半流量 | 成本变化与低频路径表现 |
| 全量 | 全部流量 | 持续监控与快速回滚能力 |
灰度与全量不要共用同一份配置:共用时回滚会把无关改动一起带走,问题定位也会变得困难。版本配置独立存储,切换只影响目标参数。
观察窗口太短是常见失误:低频问题往往在全量后才暴露。按业务频率设定窗口,低频链路适当延长灰度期。