ThingsBoard 微服务改造
🧩
30 章 · 从单体到云原生
1
课程导论
为什么需要微服务改造?ThingsBoard单体架构的痛点分析。
2
整体架构设计
微服务拆分原则、服务边界划分、数据一致性策略。
3
核心服务拆分
Transport服务、Rule Engine服务、Web UI服务、Entity服务。
4
消息中间件选型
Kafka vs RabbitMQ vs Pulsar,在ThingsBoard中的实际应用。
5
服务注册与发现
Nacos vs Consul vs Eureka,ThingsBoard的集成方案。
6
API网关设计
Spring Cloud Gateway vs Zuul,路由规则与限流策略。
7
配置中心搭建
Nacos配置中心,动态配置刷新,多环境管理。
8
分布式事务处理
Seata框架集成,TCC模式在设备数据上报场景的应用。
9
数据分片与读写分离
Cassandra集群优化,时序数据的分片策略。
10
服务间通信
gRPC vs REST,内部API设计规范与性能对比。
11
容器化部署
Dockerfile编写,多阶段构建,镜像瘦身技巧。
12
Kubernetes编排
Pod设计、Service暴露、ConfigMap管理、HPA自动伸缩。
13
持续集成/持续部署
Jenkins Pipeline设计,GitLab CI集成,自动化测试。
14
日志收集体系
ELK Stack搭建,结构化日志,链路追踪ID注入。
15
监控与告警
Prometheus + Grafana,自定义Metrics,告警规则配置。
16
分布式链路追踪
SkyWalking集成,Span设计,性能瓶颈分析。
17
安全架构设计
OAuth2.0 + JWT,服务间鉴权,API密钥管理。
18
设备连接层改造
MQTT Broker集群,Netty调优,连接风暴应对。
19
规则引擎微服务化
独立部署,状态管理,插件化扩展机制。
20
数据持久层改造
从PostgreSQL到Cassandra + Redis混合存储。
21
缓存策略设计
Redis集群,缓存穿透/击穿/雪崩解决方案。
22
异步消息处理
事件驱动架构,死信队列,消息重试机制。
23
数据库迁移方案
Flyway + 自定义脚本,零停机迁移策略。
24
性能压测实战
JMeter脚本设计,关键接口压测,瓶颈定位。
25
高可用设计
多活部署,故障转移,优雅关闭与启动。
26
灰度发布策略
蓝绿部署,金丝雀发布,流量路由控制。
27
DevOps工具链整合
Harbor镜像仓库,Rancher管理,ArgoCD持续交付。
28
成本优化
资源限制,按需伸缩,Spot实例使用,降本增效。
29
迁移实战
从单体到微服务的平滑迁移,双跑策略,回滚方案。
30
课程总结
架构演进路线图,常见问题FAQ,推荐学习资源。