Skip to content

系统架构设计

1. 系统逻辑架构

YunStack-IoT 采用经典的分层架构设计,确保各层职责单一、边界清晰。

各层职责说明

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

2. 部署架构 (逻辑)

具体的部署说明将在 软件部署 中详细阐述。