跳到主要内容

技术架构

系统架构图

┌──────────────────────────────────────────────────────────┐
│ 客户端层 │
│ Web 管理后台 / App / 移动端 │
└───────────────────────┬──────────────────────────────────┘
│ HTTPS / WebSocket
┌───────────────────────▼──────────────────────────────────┐
│ Spring Cloud Gateway │
│ 统一入口 · JWT 鉴权 · 请求路由 · 限流 │
└────┬──────┬──────┬──────┬──────┬──────┬──────┬──────────┘
│ │ │ │ │ │ │
┌───▼──┐ ┌▼────┐┌▼────┐┌▼────┐┌▼────┐┌▼─────┐┌▼──────┐
│用户 │ │网关 ││数据 ││应用 ││扩展 ││定时 ││公共 │
│服务 │ │管理 ││服务 ││服务 ││Hook ││任务 ││服务 │
│user │ │mgmt ││data ││app ││exhook││xxl-job││common │
└──┬───┘ └──┬──┘└──┬──┘└──┬──┘└──┬──┘└──┬──┘└──┬───┘
│ │ │ │ │ │ │
┌───▼────────▼───────▼───────▼───────▼───────▼───────▼───┐
│ 基础设施层 │
│ MySQL 8 │ Redis │ InfluxDB │ Nacos │ EMQX │
└────────────────────────┬────────────────────────────────┘
│ MQTT
┌──────▼──────┐
│ 边缘网关设备 │
│ (Go-HTTP) │
└─────────────┘

技术选型

类别技术选型说明
基础框架Java 17 + Spring Boot 3.0.2最新 LTS 版本
微服务治理Spring Cloud Alibaba 2022Nacos 服务注册与配置中心
API 网关Spring Cloud Gateway统一入口、鉴权、路由
服务调用OpenFeign微服务间负载均衡调用
业务数据库MySQL 8.0结构化业务数据存储
缓存Redis会话缓存、热点数据加速
时序数据库InfluxDB海量时序数据存储与查询
消息中间件EMQXMQTT Broker,万级设备接入
定时任务XXL-Job 3.0分布式任务调度
API 文档Knife4j / SpringDoc OpenAPI 3在线接口文档与调试
Excel 处理EasyExcel 3.3 + Apache POI 4.1批量导入导出
RPC 框架gRPC扩展钩子模块远程调用
AI 集成阿里云 DashScope SDK通义千问大模型集成
第三方支付微信支付 SDK支付相关功能
短信服务阿里云短信用户通知与验证码

微服务模块说明

模块名称职责
user用户服务用户认证、角色权限、项目管理
mgmt网关管理网关生命周期、设备管理、云组态、远程运维
data数据服务数据接入、存储、查询、数据广播
app应用服务App 移动端接口
exhook扩展 HookgRPC 远程钩子,第三方系统对接
xxl-job定时任务分布式定时任务调度
common公共服务公共工具类、基础服务
gatewayAPI 网关统一鉴权、路由分发、限流熔断