系统架构设计
1. 系统逻辑架构
YunStack-IoT 采用经典的分层架构设计,确保各层职责单一、边界清晰。
各层职责说明
- 应用层:
- 小程序:用户侧的主要入口,提供设备配网、绑定、列表展示、实时状态查看、远程控制等功能。
- Web 后台:管理员入口,负责设备录入、固件版本管理、用户权限管理、系统日志查看。
- 服务层 (NestJS):
- 承载所有业务逻辑,包括用户鉴权、设备鉴权、指令路由、数据清洗与存储。
- 混合消息处理:
- 作为 MQTT 客户端 订阅业务 Topic,处理高频遥测数据。
- 提供 Webhook 接口 接收 EMQX 推送的设备上下线事件。
- 接入层 (EMQX):
- 负责维持海量设备的长连接。
- 处理 MQTT 协议的 Pub/Sub,实现设备与服务端的消息解耦。
- 数据层:
- PostgreSQL:存储“关系”,如:用户是谁?设备属于谁?设备的各种静态属性(名称、位置、固件版本)。
- InfluxDB:存储“流”,如:某年某月某日某时,温度是多少?继电器开关状态的变化历史。
- Redis:存储“瞬态”,如:设备当前是否在线?当前的控制指令是否已响应?
2. 部署架构 (逻辑)
具体的部署说明将在 软件部署 中详细阐述。
