上线检查
在发布前检查身份、连接、消息、离线恢复、安全、容量和回滚。
“能连上并发出一条消息”只说明基础路径可用。正式发布前,还要用你的真实客户端、服务端配置和业务接口覆盖失败场景。
先固定本次发布内容
记录并评审:
- 客户端 SDK 精确版本和锁文件;
- WuKongIM 服务端版本与配置;
- 客户端系统、设备和网络范围;
- 业务登录、Token、频道资料、会话、历史和媒体接口版本;
- 数据库或协议变化以及对应回滚方式。
依赖、配置和锁文件应作为一个变更单元发布和回滚。
最小消息闭环
使用两个真实测试账号 Alice 和 Bob,在两个独立客户端中完成:
- 两端登录并连接到可发送状态;
- Alice 向 Bob 发送文本,Alice 显示服务端已接受;
- Bob 在线收到且只显示一次;
- Bob 断网,Alice 再发送一条消息;
- Bob 恢复网络后补齐离线消息,顺序和未读数正确;
- 双方退出并重新登录,本地数据没有串号。
发送端的服务端结果、接收端在线收到和离线同步是三个不同事件,测试时分别检查。
发布检查表
| 主题 | 至少验证 |
|---|---|
| 身份 | 无效、过期、撤销和其他 UID 的 Token 都被拒绝;客户端不持有 Product HTTP 管理凭据 |
| 连接 | 弱网、切网、前后台、服务端重启、被踢和 Token 失效都有明确 UI 状态 |
| 消息 | 发送中、成功、失败、重试、重复、乱序和超时不会造成错误业务状态 |
| 会话 | 最近消息、未读数、删除和多设备变化能够收敛 |
| 媒体 | 上传失败、取消、超时、URL 权限和本地文件清理符合产品要求 |
| 本地数据 | 账号隔离、备份、加密、退出清理和升级迁移符合安全要求 |
| 网络安全 | 客户端入口使用受控 TLS/WSS;Product HTTP、Manager 和诊断接口不暴露到公网 |
| 容量 | 按目标在线数、消息速率和群规模压测,并为队列、重试和降级设置上限 |
| 可观测性 | 能通过指标和脱敏日志定位连接、发送、投递、同步和存储问题 |
| 回滚 | 在预发布环境演练客户端与服务端回滚,确认旧版本仍能读取现有数据 |
Go / No-Go
以下任一情况都应停止发布:
- 身份校验或网络边界没有完成;
- 关键失败场景不能稳定复现和恢复;
- 日志会输出 Token 或完整消息正文;
- 容量测试没有达到目标,或没有明确的限流和降级策略;
- 数据变化不可回滚,且没有经过评审的前滚修复方案。
全部检查通过后,先小流量发布,观察连接成功率、发送失败率、消息延迟、同步错误、队列水位和存储错误,再逐步扩大范围。