文档
03 平台04 媒体供应02_需求与工作包

MG-02-014 切换计划

状态说明:以当前有效边界为准。供应执行规则与历史实现证据保留;客户身份、售价、结算、全量旧跨仓契约及图像开放计划不代表当前验收范围。

1. 原则

  • 不迁移废弃 model-schedule 的代码、数据或任务;
  • new-api 只作为配置、协议和 UI 参考;
  • 不长期运行两套媒体调度;
  • 新系统通过全部 P0 后一次切换新的图像和视频创建流量;
  • 切换时不把已经提交的旧 Provider Task 迁移到新系统。
  • 当前开发批次只完成新服务器 Docker Compose 验收与切换演练,不执行生产切流; 实际切换需要用户另行确认维护窗口。

2. 迁移内容

需要迁移或重建:

  • Channel Base URL 和 Provider 类型;
  • Provider Credential,由管理员重新安全录入;
  • 当前上游模型清单;
  • Public Model 名称和用户接口兼容;
  • Supply 能力、价格、真人政策和并发;
  • 客户组、用户和新 API Key;
  • 对外域名、路径和响应兼容;
  • 三个对象存储桶配置。

不自动迁移:

  • 旧余额、充值、订单和支付数据;
  • 聊天和文本模型配置;
  • 旧 Priority、Weight、Group 和 Ability;
  • 旧 VideoSupplyRoute;
  • 旧运行中 Task;
  • 废弃 model-schedule 任何数据。

new-api 中当前停用或自动停用的媒体 Channel 可以导入为 disabled Draft,用于保留 Provider、模型映射和历史状态,但不得自动启用或执行付费测试。

3. 配置导入

可以编写一次性只读导入工具读取 new-api 配置,但输出必须是 disabled Draft:

Channel Draft
Supply Draft
Public Model Draft

不得直接启用。管理员逐项补充并验证:

  • Credential;
  • Provider 模型 ID;
  • Request Profile;
  • Capability;
  • Cost Rule;
  • 并发;
  • 真人政策;
  • 真实测试证据;
  • Public Model Binding;
  • Degradation Rule。

4. 用户和 Key

当前用户少,首版不要求兼容旧 Key:

  1. 在新系统重建用户和客户组;
  2. 创建新 Key;
  3. 让用户在测试域名验证真实请求;
  4. 冻结用户、模型和路径矩阵;
  5. 切换前确认所有用户已经保存新 Key。

如果最终要求保留旧 Key,必须单独设计安全迁移,不能从不可逆哈希恢复明文。

5. 预切换

  • 完成全部 P0;
  • 生产配置发布并签名;
  • 所有 production_ready Supply 真实冒烟;
  • 队列和 Worker 容量满足目标;
  • 告警可达;
  • 对象存储和内容交付通过;
  • 域名、TLS、反向代理和回滚配置就绪;
  • 旧系统当前异步任务数量已知;
  • 建立旧 Task 查询保留期限。

6. 切换

  1. 短暂停止旧系统新的图像/视频创建;
  2. 记录旧系统非终态 Task 清单;
  3. 启动新网关全部生产角色;
  4. 执行内部健康、模型列表和管理 API 检查;
  5. 将图像/视频创建路径切到新系统;
  6. 执行一个同步图像、一个异步视频和一个任务查询冒烟;
  7. 恢复创建流量;
  8. 观察错误、队列、容量、成本、重试和降级;
  9. 旧系统只允许查询切换前 Task,禁止创建新 Task;
  10. 旧 Task 排空后归档旧媒体服务。

这是一次创建入口切换,不是让两个调度系统同时接收新请求。

7. 回滚

回滚只能改变“新请求进入哪里”,不能丢弃新系统已经提交的异步 Attempt。

触发条件:

  • 鉴权或模型权限大面积错误;
  • 同步图像持续失败;
  • 异步任务无法创建或持续丢失;
  • 重复 Provider 提交;
  • Provider 成功但结果不可交付;
  • Key、Credential 或用户数据泄漏;
  • 成本护栏失效;
  • 数据库或队列无法恢复。

步骤:

  1. 停止新系统接收新的媒体创建;
  2. 保持新系统 Poller/Result Worker 处理已提交 Attempt;
  3. 如果旧系统配置仍安全,恢复旧创建入口;
  4. 明确记录回滚边界时间;
  5. 两边 Task 分别由原系统查询;
  6. 修复后重新执行完整切换演练。

8. 切换验收

  • 新请求只进入一个系统;
  • 旧 Task 和新 Task ID 空间可区分;
  • 所有用户的新 Key 真实通过;
  • 图像同步响应保持兼容;
  • 视频两种入口和状态查询兼容;
  • 无重复 Provider 提交;
  • 使用记录、输出和成本完整;
  • Channel/Supply 告警工作;
  • 回滚路径可执行;
  • 旧系统最终不再提供图像/视频创建。

On this page