CMPP Gateway Spike
阶段 0 的 gateway/ 目录用于 Go CMPP Gateway 技术 Spike。当前环境未安装 Go 工具链,先保留工程边界和验收清单。
阶段 0 职责
- 读取一个 CMPP 通道配置。
- 基于 gocmpp 或评估后的协议库完成 connect、submit、deliver、active test、terminate。
- 消费
cmpp.submit.commands。 - 发布
cmpp.submit.results、cmpp.receipt.events、cmpp.uplink.events。 - 维护
messageId -> sequenceId -> gatewayMessageId映射。 - 支持断线重连和后续消息继续消费。
- 暴露健康检查和最小指标。
建议骨架
gateway/
├── cmd/
│ ├── gateway/
│ └── smsc-simulator/
└── internal/
├── cmpp/
├── config/
├── connection/
├── metrics/
├── queue/
└── tracker/
当前环境状态
已安装 Go 1.26.4。当前 Spike 已完成:
- 队列消息结构定义。
messageId -> sequenceId -> gatewayMessageId追踪器。- 内存模拟 submit resp 与 deliver 回执链路。
- 15000 条内存链路压测基线。
- gocmpp 编译级接入点。
- gocmpp 本地 TCP connect、submit、submit resp、active test 集成测试。
- gocmpp deliver 回执 PDU pack/unpack 测试。
- 断线重连状态机测试。
阶段 0 决策:协议层优先直接依赖 gocmpp,服务层连接管理、重连、SEQID/MSGID 追踪、队列、限速、监控、幂等由本项目自研。