0. 引言:万物互联时代的底层挑战
根据 IDC 预测,2026 年全球物联网连接设备数将突破 270 亿台,中国物联网核心产业规模预计超过4 万亿元。然而,企业在构建 IoT 系统时普遍面临三大痛点:协议碎片化(MQTT、CoAP、HTTP、TCP 私有协议并存)、海量设备管理复杂、实时数据处理性能瓶颈。一个成熟的物联网基础平台,是跨越这些鸿沟的关键。
JetLinks 正是为了解决这些问题而生的——一个基于 Java 生态的全响应式企业级物联网基础平台。
1. 项目背景及简介
JetLinks 是一个开源、开箱即用、可二次开发的企业级物联网基础平台。基于 Java 17 + Spring Boot 3.4.x + WebFlux + Netty + Vert.x + Reactor 构建,采用全响应式架构,支持统一物模型管理、多协议设备接入、实时数据处理、规则引擎告警、数据可视化等核心能力。
JetLinks 基于Java,Spring Boot ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统
项目当前版本2.11,GitHub 获得6.4k+ Star,采用Apache-2.0开源协议,社区活跃,持续迭代。
2. 目标客户
物联网系统集成商:需要快速交付行业 IoT 解决方案
企业 IT 部门:搭建内部设备管理平台(楼宇、工厂、园区)
IoT 产品团队:需要设备接入、数据采集、告警联动的底层平台
Java 开发者:希望在 Spring 生态内快速开发物联网应用
3. 平台定位
JetLinks 的定位是「物联网基础平台」——不直接面向最终用户,而是为上层业务系统提供设备接入、数据管理、规则引擎、消息通知等基础设施能力。类似物联网领域的「Spring Boot」:屏蔽底层复杂性,让开发者专注于业务逻辑。
4. 平台技术
响应式Web:Spring Boot 3.4.x + WebFlux + Project Reactor,全异步非阻塞
响应式数据库:R2DBC 驱动 PostgreSQL + TimescaleDB
高性能网络:Netty + Vert.x,支撑海量并发设备连接
业务基础框架:hsweb framework 5(权限、CRUD、数据模型)
时序数据存储:TimescaleDB(默认)、TDengine / ElasticSearch(可选)
缓存:Redis
协议适配:MQTT、TCP、UDP、CoAP、HTTP、TLS/DTLS
5. 平台核心功能
统一设备接入:多协议统一接入,屏蔽网络编程复杂性,不同厂商不同设备统一管理
物模型管理:标准物模型定义(属性、事件、服务),设备数据标准化
规则引擎:灵活的规则模型配置,设备告警、场景联动统一由规则引擎管理
实时数据处理:设备消息实时采集、处理、转发
数据权限控制:非侵入式三维权限控制(菜单、按钮、数据行级)
数据可视化:地理位置、仪表盘、数据大屏
通知系统:短信、邮件等多渠道消息通知
6. 平台独特优势
全响应式架构:从 Web 层到数据库层全异步,单机可支撑数万设备并发
最小化部署:仅需 Java 17 + Redis + TimescaleDB,无需大量中间件
完全开源:全部源码开放,前后端分离,接口全开放,可自由扩展
协议无关性:通过协议组件(protocol-component)支持自定义协议接入,灵活适配各类设备
Java 生态友好:基于 Spring Boot 生态,Java 团队零学习成本上手
7. 平台安装使用
环境要求
Java 17+
Maven 3.8+
PostgreSQL 13+
Redis 6+
TimescaleDB(基于 PostgreSQL 扩展)
快速启动
# 克隆项目 git clone https://github.com/jetlinks/jetlinks-community.git cd jetlinks-community # 编译构建 mvn clean package -DskipTests # 使用 Docker 一键启动(开发环境) cd docker/dev-env docker-compose up -d通过http://localhost:8848访问系统。
自定义协议接入示例
// 实现 TcpProtocolCodec 接入 TCP 私有协议设备 @Component publicclass CustomTcpProtocolSupport extends StandardTcpProtocolSupport { @Override public MessageCodec<TcpMessagePayload> createCodec() { returnnew CustomTcpDeviceMessageCodec(); } @Override public Mono<Void> init(TcpDeviceRegistry registry) { // 注册设备上线、数据上报等处理器 return registry.onDeviceMessage(this::handleMessage); } }8. 应用场景及案例说明
智慧工厂:接入产线 PLC、传感器、仪表,实时采集设备状态,通过规则引擎实现异常告警和停机联动
智慧楼宇:统一管理空调、电梯、照明、安防等设备,实现能耗分析和场景自动化
环境监测:接入空气质量、水质、噪音等传感器,实时数据采集与可视化大屏
能源管理:光伏、风电、储能设备接入,数据采集、功率预测、告警管理
总结
JetLinks 是 Java 生态中最成熟的开源物联网平台之一。全响应式架构让它具备了处理海量设备并发的能力,而 Spring Boot 生态让它对 Java 团队极为友好。如果你正在构建 IoT 相关业务系统,JetLinks 值得作为首选基础平台进行评估。