THINGSBOARD

规则引擎解析

描述规则引擎是Thingsboard的核心部分,基于Actor编程模型,类似事件驱动;每个actor都有自己的消息队列(mailBox)保存接收到的消息actor可以创建actoractor可以将消息转发给其他actor分析Actor模型实现系统中与Actor模型相关类都在工程common/actor下,几个核心类说明如下:TbActorSystemActor系统接口,Actor系统类实现该接口T

描述

规则引擎是Thingsboard的核心部分,基于Actor编程模型,类似事件驱动;

每个actor都有自己的消息队列(mailBox)保存接收到的消息

actor可以创建actor

actor可以将消息转发给其他actor

20d658e853274cc190c36d3898059fa8.png

分析
Actor模型实现
系统中与Actor模型相关类都在工程common/actor下,几个核心类说明如下:

TbActorSystem Actor系统接口,Actor系统类实现该接口
TbActor Actor接口,所有Actor需直接或间接实现该接口
TbActorCreator Actor创建接口,所有Actor创建器直接或间接实现该接口
TbActorRef Actor句柄接口,使用TbActorCreator创建Actor后返回此句柄,通常指向Actor的邮箱。
TbActorCtx Actor上下文接口,继承TbActorRef接口。
AbstractTbActor 抽象Actor,实现TbActor接口。
DefaultTbActorSystem Actor系统,用于Dispatcher的创建删除、Actor的创建查找和Actor之间消息传递等。
Dispatcher 调度器,用于调度Actor的创建或消息分发。
TbActorMailbox 邮箱,实现TbActorCtx接口,指向某个actor,同时存储消息到队列并使用调

原创不易,完成人机校验,阅读全文

相关推荐