区分代码回滚和数据恢复
部署前识别所有有状态变更:数据库架构、后台任务、对象格式以及外部 API 副作用。优先采用可逆或向后兼容的变更,并记录各版本可以安全读取的数据格式。
如果迁移具有破坏性,执行前先创建并验证恢复点。恢复整个数据库快照可能会覆盖快照之后的有效写入,因此应与向前修复或针对性修复进行影响比较。
按受控流程回滚
选择已知稳定的上一版本,切回流量,并确认健康检查和核心用户流程正常。暂停不兼容的工作进程或定时任务,避免旧代码处理新格式的数据。
服务稳定后,核对事故期间创建的记录和后台任务,并记录原因与防护措施。定期演练回滚流程;仅有旧版本构建产物并不能证明服务可以安全恢复。