并行且校验一致
新旧并行运行。双写使新积累状态。影子读并比对;零不一致率表示新已可服务。非零率是发现而非阻断。
if (!deepEqual(oldResp, newResp)) log.mismatch(route, oldResp, newResp);
灰度再切换
把小比例读切到新并盯错误率。平稳则全切。旧版保留为回滚窗口的备用,之后退役。
验证
灰度前不一致率为零,切换后错误率平稳,旧版处于备用。旧版保留整周,使仅在新区运行的周批量路径在旧版退役前跑满一周期。
验证细节
写路径零不一致率不可妥协;读路径若差异仅为外观且经审,可容忍极低率。回滚窗口内任一步异常均可一键切回旧版。切换前应与相关方对齐时间窗与通告,避免在业务高峰期操作;切换后立即核对关键业务指标与告警面板。