[决策] V0 为何 Gateway → HTTP → Spring Boot
| 字段 | 内容 |
|---|---|
| 状态 | 🔵 设计中 |
| 类型 | [决策] |
| 项目 | Mini MES V0 |
| 证据 | 待 Lab 001 |
| GitHub | 暂未开放 |
背景
需要先跑通:
text
设备(模拟)→ 采集 → 后端 → 监控页目标是证明链,不是协议博物馆。
候选
| 方案 | 含义 |
|---|---|
| A | Java 业务服务直接连 Modbus/S7 |
| B | Gateway 采集后 HTTP 推到 Spring Boot |
| C | Gateway → MQTT → 后端(直接上 V1) |
判断
选 B。
- 协议与业务隔离:Gateway 懂寄存器;Spring Boot 懂设备档案、告警、展示。
- HTTP 对单生产者→单消费者足够:调试用 curl/日志即可,心智负担低。
- 不选 A:业务进程绑死协议与重连逻辑,后面加第二种协议或第二个消费者会痛。
- 不选 C(现在):消息中间件的收益在多订阅方与解耦;V0 还没有第二个消费者,复杂度大于收益。见 02。
适用 / 不适用
- ✅ 实验室 V0、单 Gateway、单后端、要快速看见数据
- ❌ 多网关、多分析消费者、强离线缓冲——那时评估 MQTT
结论
V0:Gateway → HTTP → Spring Boot。演进本身会变成下一篇对照决策。
验证计划
Lab 001 跑通后:本页状态 → 🟢;补充 QPS、失败率与截图链接。