技术栈与工程组成

平台按业务域划分 Maven 模块,管理面与设备接入面可以分别装配运行。工程边界帮助隔离长连接负载、业务事务、页面状态和模型调用。

后端与数据链路

层次 当前工程采用 职责
后端 Java 21、Spring Boot 4.1、Spring MVC、Spring Security HTTP、认证、领域用例和事务
持久化 Spring JDBC、显式 SQL、Flyway 查询、行锁、版本比较和迁移
主库与时序 PostgreSQL、TimescaleDB 业务事实、JSONB、租户 RLS、时序历史
热数据 Redis 在线态、热缓存和速率控制,不是唯一事实来源
消息总线 Kafka 持久交接、异步消费和故障重放
MQTT EMQX 设备连接、认证、ACL 和上下行
其他协议 JDK TLS 与虚拟线程、Californium 与 Scandium TCP 帧处理和 CoAP DTLS
脚本 GraalJS 受限制的规则及编解码运行
对象 S3 兼容存储 固件和导出对象等文件
观测 Actuator、Micrometer 健康、指标和运行诊断

技术组件的存在不意味着任意部署已经具备集群、高可用或容量资格,实际拓扑由部署方维护。

前端与辅助服务

工程 技术与用途
Console Vue 3、TypeScript、Vite、Element Plus、Pinia;管理和运维 SPA
WebApp Vue 3、TypeScript、Vite;独立终端应用宿主
Platform Astro 7、Tailwind CSS 4、Markdown 内容集合;静态官网与文档
Client Contracts 版本化 TypeScript 合同包;共享看板 Schema 与校验规则
Agent Python 3.12 以上、Pydantic、FastAPI;受控分析合同与校验
Device SDK ESP32 独立工程;软件验证与真实板卡验收分别进行

为什么这样组合

PostgreSQL 保持业务事实和权限边界,TimescaleDB 承载历史查询,Redis 降低热路径成本,Kafka 将接入与业务处理解耦。看板和应用共享版本化合同,官网保持静态输出,无需把管理应用运行时加载到每篇教程。

验证工具

Java 使用 JUnit、Testcontainers、Awaitility 等;前端使用 Vitest 和 Playwright。OpenAPI 与消费端类型通过统一生成入口维护。精确依赖版本以各工程清单和锁文件为准,升级不能仅凭本页表格。

进一步阅读架构与部署和开发与验证。