docs: record inbound long message deployment

This commit is contained in:
hectorzhao
2026-07-23 21:11:14 +08:00
parent b29576fcd1
commit 2f781ebb8a
+10
View File
@@ -2262,3 +2262,13 @@ git diff --check
- 新增长短信相关 API 回归5项(合并、乱序/重复/冲突、处理中断恢复、主记录已落库后的幂等恢复、超时终止)和 Gateway 回归3项(8位UDH、16位UDH、真实CMPP2.0两片转发)。API发送链83/83、API全量24 suites/295项、Gateway `go test ./...`、API build、前端build、Prisma generate/validate/status均通过。`verify:phase8`首次与本地API并发时BullMQ为438.93 TPS而失败;关闭仅由本轮启动的API后单测为909.56 TPS,完整重跑为872.43 TPS并通过。前端仅保留既有约1.92MB单chunk告警。 - 新增长短信相关 API 回归5项(合并、乱序/重复/冲突、处理中断恢复、主记录已落库后的幂等恢复、超时终止)和 Gateway 回归3项(8位UDH、16位UDH、真实CMPP2.0两片转发)。API发送链83/83、API全量24 suites/295项、Gateway `go test ./...`、API build、前端build、Prisma generate/validate/status均通过。`verify:phase8`首次与本地API并发时BullMQ为438.93 TPS而失败;关闭仅由本轮启动的API后单测为909.56 TPS,完整重跑为872.43 TPS并通过。前端仅保留既有约1.92MB单chunk告警。
- 预发布两次测试正文使用的 `【深圳市合正物业服务有限公司】` 在该应用签名库中不存在;本次修复能消除UDH污染并完整重组,但不会绕过签名审核。部署后复测前需先按正常产品流程为应用配置并审核该签名/模板,或改用应用已有的审核通过签名。数据库升级只新增两张重组表和外键/索引;如必须回滚,应先停止新版本 API/Gateway,再删除子表和父表,未完成分片审计会丢失,既有短信主记录不受影响。 - 预发布两次测试正文使用的 `【深圳市合正物业服务有限公司】` 在该应用签名库中不存在;本次修复能消除UDH污染并完整重组,但不会绕过签名审核。部署后复测前需先按正常产品流程为应用配置并审核该签名/模板,或改用应用已有的审核通过签名。数据库升级只新增两张重组表和外键/索引;如必须回滚,应先停止新版本 API/Gateway,再删除子表和父表,未完成分片审计会丢失,既有短信主记录不受影响。
- 发布前功能代码、迁移、回归测试和文档已完成并获用户授权提交、推送和部署;本节先保留发布前验证证据,实际提交、备份、migration、服务重启和发布后验收结果在部署完成后追加记录。 - 发布前功能代码、迁移、回归测试和文档已完成并获用户授权提交、推送和部署;本节先保留发布前验证证据,实际提交、备份、migration、服务重启和发布后验收结果在部署完成后追加记录。
## 2026-07-23 下游 CMPP UDH 长短信持久化重组发布(`b29576fc`
- 功能提交 `b29576fcd118bea04416be0c9fc1bc2a4213d830``fix: reassemble inbound CMPP long messages`)已推送至 `origin/main`。首次 `git push` 遇到远端 HTTP `Failed to authenticate user`,在不改写提交和工作区的情况下使用原命令重试成功;提交未包含 `api/tsconfig.build.tsbuildinfo``outputs/` 和未关联的 `docs/project-daily-log.md`
- 发布门禁通过:API 全量 24 suites / 295 tests、API TypeScript build、Gateway `go test ./...`、前端 TypeScript/Vite build、Prisma generate/validate/status、`git diff --check``npm run verify:phase8` 均成功;BullMQ 端到端 890.61 TPS,前端仅保留既有约 1.92 MB 单 chunk 告警。一次从仓库根目录直接调用 Prisma 因工作目录错误找不到 schema,随后从 `api` 目录使用本地可执行文件重跑 generate/validate/status 全部通过,不将错误命令计为验证通过。
- 部署前 PostgreSQL、当前运行源码和环境配置备份至 `/opt/cmpp-platform/backups/releases/20260723-210601`。数据库 4409540 字节、SHA-256 `c2af72f670f4352723c9ff9e259d52316ed63fe15b28d8aa5b705ed7cfd18dec`;源码 28610639 字节、SHA-256 `61679bdb6efb236d1739c2d1780e010bfb38e7e8d5fb07b52e56a555f8e4a3c2`;环境文件 850 字节、SHA-256 `189f4f67e9d52f3c1ce751d1005c08667b1b4efcd0c576aaa5ad3249c822e4e7`。三份文件权限为 600,数据库 gzip、源码 tar 和 `sha256sum -c` 完整性校验通过。
- 发布包由 `b29576fc` Git 快照生成,本地与服务器 SHA-256 均为 `6d8a70bee437d6583e2e719ee9c17f8f981a5775d8ed9a7e9cbd96ebd4f7874b`。使用 `tools/deploy/production-deploy.sh` 完成发布,依赖审计为 0 漏洞,成功应用 `20260723120000_add_cmpp_inbound_long_message_reassembly`,预发布现有 62 条 migration 齐全;`CmppInboundLongMessage``CmppInboundLongMessageSegment` 两张表存在,发布后尚无长短信分组数据。`.deployed-commit=b29576fcd118bea04416be0c9fc1bc2a4213d830`
- systemd 日志确认 21:07:16 先停止、启动 `cmpp-gateway`,随后停止、启动 `cmpp-api`。Gateway、API、Nginx、PostgreSQL、Redis 和 MinIO 实际运行,`12026/17890/8090/3000/6379/5432/9000` 均监听;本地 API/Gateway health 返回 okRedis PONG`gateway.submit.commands``pending=0、lag=0`10 个 `rate:gateway:channel:config:*` TPS 权威配置键存在,Prisma migration status 为最新。
- 5 条 active 上游通道在重启后的真实结果为 3 条 `connected/currentConnections=1``CH-1784797581833` 及其复制通道 `CH-1784797581833-COPY-MRXBBARL` 被上游明确返回 `connect response status: auth failed`。发布前数据库显示 5/5 connected 属于重启前状态,真实重连暴露了这两条通道的凭据/上游鉴权问题;本次长短信代码未修改上游通道鉴权,未擅自改密或停用通道,需由运营确认凭据后另行恢复。
- 外部首页、运营登录页、客户端登录页和 API health 均返回 HTTP 200,公网 `8.160.169.106:17890` TCP 连接成功。部署后 API/Gateway 未出现 Prisma、panic、fatal、Unhandled 或 Exception 程序错误,Nginx 仅有历史响应缓冲警告和本次正常重启 notice。未发送真实短信、未创建生产测试短信记录;由于目标测试正文的 `【深圳市合正物业服务有限公司】` 尚未配置为该应用的审核通过签名,仍需先完成签名/模板配置,再由用户进行真实企业 CMPP 长短信复测。