开源物联网平台ThingsBoard(CE版)可用性探讨

在众多的开源物联网平台项目中,Thingsboard在体系架构先进性、功能完整性、文档完备性方面,应是首屈一指。但其自身存在的一些短板,直接影响到市场应用的普及。我们艾瑞博达团队,跟进ThingsBoard项目已达四年之久,对其代码和特性进行了深入研究,而且在项目应用中,对其进行了必要的改进和扩充。在此,我们将用一组系列文章,分享我们的实践经验。希望与感兴趣的业界同仁展开交流与合作。

1、优势特点

1.1、微服务架构

从V2.2.0开始支持微服务,逐渐将传输协议(MQTT、HTTP、CoAP)代理服务、规则引擎服务从核心服务中分离出来,保证在高并发接入情况下的分布式部署和性能调优。

开源物联网平台ThingsBoard(CE版)可用性探讨_第1张图片

1.2、Actor模型

Actor模型具有高并发、高容错的特点。

自从V2.5.2开始,为了提高执行效率,ThingsBoard摈弃了Akka的使用,采用Java自主开发了更高性能的Actor系统。其Actor体系架构如下图所示:

开源物联网平台ThingsBoard(CE版)可用性探讨_第2张图片

实现的Actor对象包括:

  • App Actor - 负责管理租户Actors,其实例常驻内存;
  • Tenant Actor - 负责管理租户设备和规则链Actors,其实例常驻内存;
  • Device Actor - 维护设备的状态: 活动的Sessions, 订阅, 侦听RPC 命令等。;
  • Rule Chain Actor - 处理接收的消息并分发给规则节点Actors,其实例常驻内存;
  • Rule Node Actor - 处理接收的消息,并将结果反馈给规则链, 其实例常驻内存。

1.3、规则引擎

Thi

你可能感兴趣的:(运维开发,网络协议,微服务,物联网,iot)