Update from Sync Service

This commit is contained in:
FNS Service
2026-06-22 11:30:51 +08:00
parent eb80b7a8c1
commit 682e3e52df
52 changed files with 10099 additions and 191 deletions

View File

@@ -0,0 +1,160 @@
# 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 | 自选 |
| 学习成本 | 中 | 中 | 高 |
| 中文文档 | ⭐⭐⭐⭐⭐ | ⭐⭐ | 自己写 |
| 协议扩展 | 好 | 好 | 完全自由 |
| 二次开发 | 友好 | 一般 | 完全自由 |
| 部署复杂度 | 中 | 中 | 高 |
| 社区规模 | 中(国内) | 大(全球) | 无 |