Skeyevss FAQ:版本升级、数据迁移与回滚
1. 升级前准备
- 阅读 Release Note:是否有不兼容配置、数据库迁移脚本、端口变更;
- 全量备份:MySQL 逻辑备份、Redis、etcd 快照(若使用)、配置文件与
.env; - 在预发环境 用脱敏数据演练一遍。
2. 数据库迁移
- 迁移脚本与应用程序版本需 严格配对(先迁库再发代码,或按文档顺序);
- 迁移后校验 行数、关键表 checksum、抽样业务。
3. 配置迁移
- 对比新旧
.env.local.default新增项,合并到现有.env; etc/*.yaml结构若变化,用 diff 工具合并,避免手工漏项。
4. 灰度与回滚
- 多实例时先升级 部分副本,观察错误率与 SIP 指标;
- 保留旧版本镜像/二进制,确保 可快速切回;
- 若新代码写入了新 schema,回滚前需确认 向下兼容 或准备反向迁移(困难度高,尽量避免)。
5. 业务窗口
选择设备在线低谷期;通知运维 缩短监控告警响应时间。
6. 升级后验证
- 抽测:注册、点播、录像、报警、级联;
- 查看错误日志与依赖健康;
- 24 小时内关注 磁盘、连接池、延迟 趋势。
升级事故多来自 「未读发布说明 + 无备份 + 不可逆迁移」。