Skip to content

架构设计

LF Edge eKuiper 是物联网数据分析和流式计算引擎。它是一个通用的边缘计算服务或中间件,为资源有限的边缘网关或设备而设计。

eKuiper 采用 Go 语言编写,其架构如下图所示:

arch

作为规则引擎,用户可以通过 REST API 或 CLI 提交计算作业即规则。eKuiper 规则/SQL 解析器或图规则解析器将解析、规划和优化规则,使其成为一系列算子的流程,如果需要的话,算子可以利用流式运行时和状态存储。

算子之间是松耦合的,通过 Go 通道进行异步通信。受益于 Go 的并发模型,规则运行时可以做到:

  • 以异步和非阻塞的方式进行通信。
  • 充分利用多核计算。
  • 算子层可伸缩。
  • 规则之间相互隔离。

这些有助于 eKuiper 实现低延迟和高吞吐量的数据处理。

计算组件

在 eKuiper 中,计算工作以规则的形式呈现。规则以流的数据源为输入,通过 SQL 定义计算逻辑,将结果输出到动作/sink 中。

规则定义提交后,它将持续运行。它将不断从源获取数据,根据 SQL 逻辑进行计算,并根据结果触发行动。

进一步阅读关于各计算组件的概念: