Skip to content
/ brick Public

there is two major functions: plug-in (process) management and message routing.

License

Notifications You must be signed in to change notification settings

laneston/brick

Repository files navigation

概述

brick 是一个提供进程管理与进程间消息路由的轻量级项目框架。 brick 基于 NNG 作为进程间消息交换的基础库,使用了 NNG 的 pair-1 特性来组织一个星形拓扑的路由功能,由于此特性是基于 POSIX 操作系统里的一种组件 Unix domain socket 来开发与封装的,为数据消息的传递提供了优化的异步I/O处理,加上 brick 的线程池对消息的异步处理,使得各个插件模块间的消息传输具有一定效率与可靠性。

功能描述

brick 的主要功能有两个:插件(进程)管理和消息路由。

(插件)进程管理

当前 brick 通过配置文件 moduleEnable.json 对插件实现默认的使能/使能操作。

后续 brick 提供一个基于 HTTP 协议的 API,使用户可以远程进行插件使能、失能、开始、停止等操作。用户可以根据使用场景,开启或者关闭某些插件,操作使能插件选项后,BRICK会开启对应进程,而其余使能状态下的插件进程并不会动作,这样不仅实现同一套程序统一部署即可实现应用场景差异化,简化生产流程与版本维护,且达到了节省 SOC 的资源的效果。

消息路由

brick 提供一个基于 NNG 开发的星型拓扑的路由,用于各个插件的信息传输。通过基于 HTTP 协议的 API,用户可以指定插件节点的数据流向,例如配置插件A的数据与插件B的数据能够交互,两者的数据不会影响插件C的数据接收接口,插件C仍然可以通过配置去与插件A,B或者D进行通信。

展望

未来 brick 将结合 kubeEdge 的一些特性,结合物模型的概念,使设备信息与传感器数据通过 Service/EventBus 进行管理与传输。

About

there is two major functions: plug-in (process) management and message routing.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages