161 lines
4.8 KiB
Markdown
Executable File
161 lines
4.8 KiB
Markdown
Executable File
# JetLinks 物联网平台深度研究
|
||
|
||
> 研究日期:2026-06-12
|
||
> 来源:GitHub 官方仓库 + 官网
|
||
|
||
## 基本信息
|
||
|
||
| 项目 | 内容 |
|
||
|---|---|
|
||
| **GitHub** | https://github.com/jetlinks/jetlinks-community |
|
||
| **Stars** | 6.5k ⭐ |
|
||
| **Forks** | 1.9k |
|
||
| **当前版本** | 2.3(社区版)/ 2.11(分支) |
|
||
| **公司** | 重庆,深圳设研发中心 |
|
||
| **许可证** | Apache 2.0 |
|
||
| **官网** | https://www.jetlinks.cn |
|
||
| **文档** | 语雀托管 |
|
||
|
||
## 技术架构
|
||
|
||
### 核心技术栈
|
||
|
||
- **Java 8+**, Spring Boot 2.7.x
|
||
- **Spring WebFlux** — 全响应式 Web(非传统 Servlet)
|
||
- **R2DBC** — 响应式关系型数据库驱动
|
||
- **Reactor** — 响应式编程框架
|
||
- **Netty + Vert.x** — 高性能网络编程
|
||
- **PostgreSQL** — 业务数据存储
|
||
- **ElasticSearch / TDengine** — 时序数据存储
|
||
|
||
### 模块结构
|
||
|
||
```
|
||
jetlinks-community
|
||
├── jetlinks-components/ # 核心组件层
|
||
│ ├── network-component # 网络:MQTT/TCP/UDP/CoAP/HTTP
|
||
│ ├── protocol-component # 协议适配
|
||
│ ├── gateway-component # 消息网关/设备接入
|
||
│ ├── rule-engine-component # 规则引擎
|
||
│ ├── things-component # 物模型
|
||
│ ├── elasticsearch-component # ES 时序存储
|
||
│ ├── tdengine-component # TDengine 集成
|
||
│ └── notify-component # 通知(短信/邮件)
|
||
├── jetlinks-manager/ # 业务管理层
|
||
│ ├── authentication-manager # 用户/权限
|
||
│ ├── device-manager # 设备管理
|
||
│ ├── network-manager # 网络组件管理
|
||
│ ├── rule-engine-manager # 规则引擎管理
|
||
│ ├── visualization-manager # 数据可视化
|
||
│ └── notify-manager # 通知管理
|
||
└── simulator/ # 设备模拟器
|
||
```
|
||
|
||
## 核心能力
|
||
|
||
### 协议支持
|
||
|
||
| 协议 | 支持 | 水利适用 |
|
||
|---|---|---|
|
||
| MQTT | ✅ | ⭐⭐⭐⭐⭐ |
|
||
| TCP | ✅ | ⭐⭐⭐⭐ |
|
||
| UDP | ✅ | ⭐⭐⭐ |
|
||
| CoAP | ✅ | ⭐⭐⭐ |
|
||
| HTTP | ✅ | ⭐⭐⭐ |
|
||
| TLS/DTLS | ✅ | ⭐⭐⭐⭐ |
|
||
| Modbus | ⚠️ 需自研 | 需扩展 |
|
||
| SL651水文规约 | ❌ 无 | **核心缺口** |
|
||
|
||
### 物模型管理
|
||
|
||
- 产品(Product) → 物模型(ThingModel)
|
||
- 属性(Properties): 水位、流量、水温、电量
|
||
- 功能(Functions): 开闸、关闸、重启
|
||
- 事件(Events): 超水位告警、断电告警
|
||
- 设备(Device) → 绑定产品 → 继承物模型
|
||
- 支持设备影子(离线缓存指令)
|
||
|
||
### 规则引擎
|
||
|
||
- 支持多种规则模型(阈值告警、场景联动、自定义)
|
||
- **ReactorQL**:用 SQL 描述流式数据处理
|
||
- 告警 → 通知(短信/邮件/Webhook)
|
||
- 联动:水位超限 → 自动开闸
|
||
|
||
### 数据存储方案
|
||
|
||
- **PostgreSQL**:设备信息、用户权限、配置等业务数据
|
||
- **ElasticSearch**:属性时序数据、设备日志
|
||
- **TDengine**(可选):高性能时序写入
|
||
|
||
## 部署
|
||
|
||
### Docker 一键部署
|
||
```bash
|
||
cd docker/run-all
|
||
docker-compose up -d
|
||
# 访问 http://localhost:9000
|
||
```
|
||
|
||
### 依赖组件
|
||
- PostgreSQL
|
||
- ElasticSearch(或 TDengine)
|
||
- Redis
|
||
- MQTT Broker(内置)
|
||
|
||
### 硬件要求
|
||
- 最低:2C4G(开发/测试)
|
||
- 生产:4C8G 起步,数据量大建议 8C16G
|
||
|
||
## 社区版 vs 企业版
|
||
|
||
| 功能 | 社区版 | 企业版 |
|
||
|---|---|---|
|
||
| 设备接入+管理 | ✅ | ✅ |
|
||
| 物模型 | ✅ | ✅ |
|
||
| 协议适配 | ✅ | ✅ |
|
||
| 规则引擎 | ✅ | ✅ 更强 |
|
||
| 数据可视化 | ✅ 基础 | ✅ 高级大屏 |
|
||
| 多租户 | ⚠️ 基础 | ✅ 完整 |
|
||
| AI 视觉 | ❌ | ✅ |
|
||
| 边缘网关 | ❌ | ✅ |
|
||
| 源码 | ✅ 全开放 | 需购买 |
|
||
|
||
## 水利场景评估
|
||
|
||
### 优势
|
||
1. Java 生态,水利行业 Java 开发者多
|
||
2. 响应式架构,高并发性能好
|
||
3. 协议扩展灵活,SL651 可自研接入
|
||
4. 中文文档完善(语雀 + QQ 群)
|
||
5. 模块化设计,按需裁剪
|
||
6. 国产项目,等保合规
|
||
|
||
### 注意事项
|
||
1. **SL651 需自研**:无现成实现
|
||
2. **响应式学习曲线**:WebFlux + Reactor 有门槛
|
||
3. **社区版文档滞后**
|
||
4. **GIS 能力弱**:需自己集成地图
|
||
5. **前端 Vue 版本较旧**
|
||
|
||
### 落地路径建议
|
||
1. Docker 部署社区版,跑通 MQTT demo
|
||
2. 开发 SL651 协议包
|
||
3. 对接 TDengine 做时序存储
|
||
4. 前端集成 GIS 地图(天地图/高德)
|
||
5. 开发水利业务大屏
|
||
|
||
预估:2-3 人团队,MVP 约 2-3 个月
|
||
|
||
## 竞品对比
|
||
|
||
| 维度 | JetLinks | ThingsBoard | 自研+TDengine |
|
||
|---|---|---|---|
|
||
| 语言 | Java | Java | 自选 |
|
||
| 学习成本 | 中 | 中 | 高 |
|
||
| 中文文档 | ⭐⭐⭐⭐⭐ | ⭐⭐ | 自己写 |
|
||
| 协议扩展 | 好 | 好 | 完全自由 |
|
||
| 二次开发 | 友好 | 一般 | 完全自由 |
|
||
| 部署复杂度 | 中 | 中 | 高 |
|
||
| 社区规模 | 中(国内) | 大(全球) | 无 |
|