docs: record channel recovery deployment
This commit is contained in:
@@ -2305,3 +2305,15 @@ git diff --check
|
||||
- 依赖审计发现新公告:前端 `react-router-dom/react-router 7.17.0` 存在中危开放重定向等问题,升级至 7.18.1;API 的 Prisma CLI 间接依赖 `find-my-way 9.6.0` 存在高危 HTTP/2 DDoS 问题,以兼容覆盖固定为 9.7.0。升级后根项目与 API `npm audit` 均为 0 漏洞,构建和 Prisma 命令复测通过。
|
||||
- 本机 3000 端口存在其他会话自 2026-07-23 23:02 起运行的 API 进程,若直接使用共享 Redis 压测会与业务服务争用事件循环、CPU 和 Redis 连接。为保留该会话进程并消除队列干扰,本轮在独立临时 Redis 6389 上运行完整 `npm run verify:phase8`:15000 条消息入队 3679.70 TPS,提交结果与回执完整闭环 549.52 TPS,达到 500 TPS 门槛;临时 Redis 已停止。
|
||||
- 预发布部署前只读基线:`.deployed-commit=b29576fcd118bea04416be0c9fc1bc2a4213d830`,服务器 4 核、7499MB 内存、可用内存 6519MB、负载 0;Gateway/API/Nginx/PostgreSQL/MinIO 正常,Redis `PONG`,发送 Worker 并发 50,`gateway.submit.commands` 为 `pending=0、lag=0`。实际发布、备份、迁移、服务重启和预发布 TPS 结果待部署后补记。
|
||||
|
||||
## 2026-07-24 供应商连接恢复、运营整改与安全依赖合并发布(`afd3c960`)
|
||||
|
||||
- 合并提交 `afd3c960709b1660c18d028499c811321983cb22`(`feat: improve channel resilience and operations`)包含 43 个文件、1969 行新增和 299 行删除,已推送至 `origin/main`。第一次 push 仍遇到 Git HTTP 鉴权失败,未改写提交或 remote,直接重试后成功;`api/tsconfig.build.tsbuildinfo` 和 `outputs/` 未纳入提交。
|
||||
- 部署前 PostgreSQL、运行源码和环境配置备份至 `/opt/cmpp-platform/backups/releases/20260724-081857`。数据库备份 4414185 字节、SHA-256 `e69e1ea4c40871d2b213783cabe581f4f8697cac7c3d6e4fd62696508ad6a6e1`;源码备份 28621409 字节、SHA-256 `59d93f67be13d92d677b70ba6e0ee4b49797d7c1068304a548562a95e55defbc`;环境文件 850 字节、SHA-256 `189f4f67e9d52f3c1ce751d1005c08667b1b4efcd0c576aaa5ad3249c822e4e7`。三份文件权限均为 600,数据库 gzip、源码 tar 和 `sha256sum -c` 校验通过。
|
||||
- 发布包由 `afd3c960` Git 快照生成,本地及服务器 SHA-256 均为 `a721b60750ff891ed9c43a203c2f82c113337f1b3ad34be5938705d643e39a59`,大小 1657178 字节。服务器未安装 `rsync`,首次同步在覆盖源码前安全停止,运行目录和服务未改变;随后按已核对的 Git 顶层路径精确替换源码,保留 `backups/node_modules/dist/logs/.deployed-commit` 等运行数据,再使用 `tools/deploy/production-deploy.sh` 发布。
|
||||
- 发布成功应用 `20260723220000_add_upstream_reconnect_schedule`、`20260723223000_default_application_task_phone_limit`、`20260723224000_add_report_submission_unknown_units`、`20260723225000_enforce_supplier_connection_state_identity`,预发布 66 条 migration 全部应用且 schema up to date。部署脚本依次重启 Gateway 和 API,`.deployed-commit=afd3c960709b1660c18d028499c811321983cb22`;根项目和 API 生产机 `npm audit` 均为 0 漏洞。
|
||||
- Gateway、API、Nginx、PostgreSQL、Redis 和 MinIO 运行正常,`12026/17890/8090/3000/6379/5432/9000` 监听;本机 API/Gateway health、Redis PONG、公网页面、运营登录入口、客户端登录入口及 API health 均为 HTTP 200,公网 CMPP 17890 TCP 可连接。应用内浏览器连续两次在登录页加载阶段控制超时,因此不虚报 DOM、控制台或登录后页面验收。
|
||||
- 5 条 active 供应商通道均恢复为 `connected/currentConnections=1/desiredConnections=1`,主动心跳持续刷新且无 `lastError/lastErrorCategory`;禁用通道为 disconnected。发布后 API/Gateway 的 panic、fatal、unhandled、exception、error 匹配均为 0;`gateway.submit.commands` 保持 `pending=0、lag=0`,压测专用 BullMQ 键清理后为 0。
|
||||
- 预发布在真实 API/Gateway 保持运行的条件下,使用不触碰业务 Stream、不访问供应商且最终清理的专用 BullMQ 队列连续执行 3 轮 15000 条测试:完整提交结果与回执闭环分别为 3570.33、3650.92、3587.31 TPS,平均 3602.85 TPS;入队平均 18781.28 TPS。该指标只表示 Redis/BullMQ 与 Node Worker 的内部队列能力,不包含 Prisma 业务事务、计费、路由或真实 CMPP 网络。
|
||||
- 既往 284.16、376.52、438.93 TPS 的下降主要是测试环境争用而非已证实的代码回归:本机 3000 端口有另一会话从 2026-07-23 23:02 起运行的 API,压测与其共用 Redis、CPU 和事件循环;此前停止 API 后曾恢复至约 872—910 TPS。本轮未终止其他会话进程,改用独立 Redis 后完整 Phase 8 为 549.52 TPS并通过。预发布同一代码三轮约 3603 TPS且方差很小,进一步说明旧低值不能作为平台容量结论。
|
||||
- 当前真实发送配置的上限不是 3603 TPS:5 条 active 通道各配置 100 TPS,Gateway 总配置上限为 500 TPS;每条通道 1 个连接、窗口 16,API Send Worker 并发 50。真实持续吞吐还受供应商授权 TPS、网络往返、回执速度、数据库和计费事务影响,因此当前预发布应按“内部队列约 3600 TPS、配置发送上限 500 TPS、真实供应商持续能力仍需协议测试环境或供应商配合压测”理解。本次未发送真实短信、未修改生产业务数据。
|
||||
|
||||
Reference in New Issue
Block a user