Node 接口今天上线后返回 409,怎么定位兼容问题
今天上午给一个老客户开小版本,前端刚切到新接口就偶发 409,测试环境一直没有复现。开始我差点想回滚,后来先把 access log、request id 和数据库唯一索引错误对起来,发现旧版移动端还在带一个废弃字段,后端新校验把它当成重复提交。处理时没有直接放宽全部规则,而是给旧字段做一次兼容映射,再补了 contract test。我的经验是,线上兼容问题先看真实 payload,不要只盯异常栈。建议同行发版前保留一批旧客户端请求样本,尤其是移动端和第三方调用方。这次也让我把灰度发布 checklist 补了一项:上线后前十分钟必须抽样旧版本客户端请求,确认 response code、字段兼容和日志聚合都正常,再扩大流量。