📘 ThingsBoard 实战
性能调优 & 高可用
🎯 30 章 · 从入门到架构
1
ThingsBoard 平台概述
核心功能、架构组件 (Node/Transport/Rule Engine/Web UI) · 数据流与消息队列 (Kafka/Pulsar) 基础
2
单节点部署与基准测试
Docker Compose 部署 · JMeter/TB 压力测试 · 吞吐量 (TPS) 与延迟指标
3
JVM 调优基础
堆/栈内存配置 · GC 算法 (G1/ZGC) · JVM 参数调优实战
4
数据库调优 (PostgreSQL)
HikariCP 连接池 · 索引优化 · 慢查询分析 & VACUUM 策略
5
数据库调优 (Cassandra/TimescaleDB)
时序写入优化 · TTL 策略 · 分区键设计 · 一致性级别调整
6
消息队列调优 (Kafka)
分区数/副本因子 · 生产者/消费者参数 · 日志保留策略
7
消息队列调优 (Pulsar)
BookKeeper 配置 · Topic 分片 · 持久化策略 · Backlog 管理
8
Rule Engine 性能优化
规则链设计原则 · 节点执行顺序 · 队列隔离 · 避免阻塞
9
Transport Layer 调优
MQTT/HTTP/CoAP 协议选择 · 连接数限制 · KeepAlive & Session
10
Web UI & API 性能优化
Nginx 反向代理/缓存 · REST API 限流 · WebSocket 连接池
11
高可用架构设计原则
CAP 理论在 IoT 的取舍 · 无状态/有状态拆分 · 故障域隔离
12
ThingsBoard 集群架构
节点角色 (Core/Edge/Transport) · ZooKeeper/Etcd 协调 · 集群通信
13
数据库高可用 (PostgreSQL)
主从复制 (Streaming) · Patroni 自动故障转移 · Pgpool-II
14
数据库高可用 (Cassandra)
多数据中心部署 · Snitch 配置 · 读写一致性 · 节点修复
15
消息队列高可用 (Kafka)
多 Broker 集群 · ISR 机制 · MirrorMaker 跨集群同步 · 灾难恢复
16
消息队列高可用 (Pulsar)
多集群 Geo-Replication · BookKeeper 故障恢复 · Topic 迁移
17
负载均衡与流量管理
HAProxy/Nginx 负载均衡 · 会话保持 · 灰度/蓝绿部署
18
监控与告警体系
Prometheus + Grafana · 自定义告警 · 日志聚合 (ELK/Loki)
19
性能瓶颈定位
Arthas/JProfiler 在线诊断 · 火焰图 · 数据库慢日志分析
20
缓存策略优化
Redis 集群 · 穿透/击穿/雪崩 · ThingsBoard 缓存场景
21
数据持久化与归档
热/冷数据分离 · TimescaleDB 压缩 · 对象存储 (S3/MinIO)
22
设备连接优化
设备认证 & Session 复用 · 批量上报 · 离线消息存储
23
规则链高级优化
自定义节点 · 异步/批量处理 · 避免规则链深度过深
24
告警与通知性能
告警频率控制 · 通知异步化 (Email/SMS/Webhook) · 去重
25
多租户隔离
租户资源配额 · 数据隔离 · 性能隔离 (Rate Limiting)
26
容器化与编排优化
Kubernetes 部署 · 资源限制 (Requests/Limits) · HPA 自动扩缩容
27
CI/CD 与自动化测试
性能回归测试 · 混沌工程 (Chaos Mesh) · 自动化部署流水线
28
案例实战:智慧城市
性能调优全过程 (500TPS → 5000TPS)
29
案例实战:工业物联网
高可用架构设计与故障演练
30
总结与最佳实践
性能调优 Checklist · 高可用模式 · 未来演进 (eBPF/WASM)