44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
# 阶段 7:发送链路实施计划
|
|
|
|
## 目标
|
|
|
|
真实跑通短信发送链路的业务闭环:客户端创建批量任务后,平台按手机号拆分为短信记录,经过风控、计费、路由、限速和 Gateway 提交,最终支持 submit resp、deliver 回执、上行短信和超时补偿。
|
|
|
|
## 实施范围
|
|
|
|
1. 客户端批量任务创建。
|
|
- 批量任务只记录客户端提交批次。
|
|
- 每个手机号拆分为独立短信记录。
|
|
2. 号码导入和拆分。
|
|
- 支持请求体直接传入号码列表。
|
|
- 去重、非法号码、风控预审复用阶段 6。
|
|
3. 发送任务入队。
|
|
- 批量任务创建后写入发送队列。
|
|
- 队列消息按手机号维度处理。
|
|
4. Send Worker。
|
|
- 消费发送队列。
|
|
- 校验短信记录状态。
|
|
- 执行通道路由、Redis 限速、Gateway 提交命令。
|
|
5. 通道路由。
|
|
- 复用阶段 4 的通道、通道组、路由规则。
|
|
- 当前最小实现选择优先级最高的可用 CMPP 通道。
|
|
6. Redis 限速。
|
|
- 按通道使用 Redis 计数窗口限制 TPS。
|
|
7. Go Gateway 提交 CMPP。
|
|
- NestJS 将 `SubmitCommand` 投递到 Gateway 队列。
|
|
- Go Gateway 继续只负责 CMPP 连接和协议提交。
|
|
8. Submit Resp、回执、上行和超时。
|
|
- 提供 Gateway 事件回传接口。
|
|
- 更新短信记录、提交记录、回执记录和上行记录。
|
|
- 支持 72 小时未知状态转超时。
|
|
9. 任务进度统计。
|
|
- 按任务维护总量、已提交、成功、失败、未知、超时计数。
|
|
|
|
## 验收标准
|
|
|
|
1. 平台创建的批量任务只记录客户端任务。
|
|
2. 平台任务、API 调用、CMPP 对接发送全部按手机号维度进入短信记录。
|
|
3. 支持 submit resp、deliver 回执、上行短信、超时补偿。
|
|
4. `npm run verify:phase7` 通过。
|
|
|