LF Edge eKuiper(以下简称 eKuiper)是由 EMQ 发起的 Go 语言实现的轻量级物联网边缘分析、流式处理开源软件项目,现已捐赠给 LF Edge 基金会。

eKuiper 可以运行在各类物联网的边缘使用场景中进行数据的实时分析。通过 eKuiper 在边缘端的处理,可以提升系统响应速度与安全性,节省网络带宽费用和存储成本。

eKuiper v1.4.0 已于昨日正式发布!新版本在运行性能及开发效率方面进行了优化提升。

下载地址:https://github.com/lf-edge/ekuiper/releases/tag/1.4.0

深度学习流水线优化 流水线指令优化 流水线效率提升软件_数据库

规则流水线:灵活构建复杂业务

eKuiper 使用 SQL 定义业务逻辑,降低了业务开发的门槛。

在实际使用场景中,简单的 SQL 语句可以高效地定义过滤、聚合和数据转换等业务需求。然而对于一些较为复杂的场景,单条 SQL 语句难以定义;即使可以定义,SQL 语句自身也会显得过于复杂,后续难以维护。

规则流水线基于新增的内存 source 和 sink,可以简单高效且灵活地连接多条 SQL 规则,从而在实现复杂的业务场景的同时,保持 SQL 语句的可读性和可维护性。

规则直接连接采用类似 mqtt 主题的机制,并支持通配符订阅,实现了异常灵活且高效的规则连接。在提高业务表达能力的同时,规则流水线也可提高某些复杂场景下的运行性能。例如,多个规则都需要处理经过某个条件过滤后的数据。通过把该过滤条件提取成前置规则,可以使过滤仅计算一次,在规则多的情况下可大大减少计算量。

Portable 插件:让拓展更容易

eKuiper 在最初的版本中就支持了基于 Go 原生插件系统的扩展方案,支持对 source、sink 和 function (UDF) 进行个性化扩展。

然而,由于 Go 语言插件系统自身的限制,插件的编写和使用对于熟悉 Go 语言的用户都不容易,遑论其他语言的使用者。eKuiper 社区中也收到了大量用户关于插件开发、 运行和部署等的反馈,各种运行问题不一而足。

为了平衡开发效率和运行效率,v1.4.0 版本增加了新的 Portable 插件系统,从而降低插件开发使用门槛。新的 Portable 插件基于 nanomsg/nng 进行进程间通信,支持多种语言接入。当前推荐使用 go 和 python SDK,后续版本可根据用户需求增加更多语言 SDK;简化编译/部署流程,与运行各种语言编写的程序一样,而无需额外限制。由于运行机制不同,Portable 插件崩溃将不会影响 eKuiper 自身。

原有插件系统 Native 插件与 Portable 插件可以共存。用户可根据自身需求,选用插件实现方式或混合使用。

共享连接:同类 Source/Sink 复用连接

eKuiper 中提供了丰富的 source 和 sink 来接入和发送结果的到外部系统中。很多 source 和 sink 都是同一种外部系统类型的输入输出对。例如,mqtt 和 edgeX 都有对应的 source 和 sink。

新的版本中,用户可在 connection.yaml 文件中做所有连接相关配置;在 source/sink 的配置中,可以指定使用的连接而无需重复配置。共享连接实例,可减少多个连接的额外消耗。在部分场景中用户连接外部系统的数量和端口可能有限制,使用共享连接可满足此限制。同时,基于共享连接, eKuiper 可支持连接 edgeX 安全数据总线。

其他提升

  • 支持通过环境变量进行配置
  • eKuiper 默认采用嵌入式数据库 SQLite 存储流和规则等元数据,从而可实现运行时无外部依赖。在新版本中,用户可选择 redis 作为元数据存储方案
  • 规则状态返回错误原因
  • 优化 SQL 运行时
  • sink 动态参数支持,例如 mqtt sink 可设置主题为结果中的某个字段值,从而实现根据收到的数据发送到动态主题的功能
  • 认证支持:用户可配置 REST API 的基于 JWT 的认证
  • UI 适配

eKuiper 是专为边缘侧打造的轻量级物联网数据分析/流处理软件,其提供的便捷工具与框架为企业边缘侧流处理与分析、利用边缘计算开展业务提供了极大便利。

同时,作为 LF Edge 基金会旗下首个来自于国内初创科技公司贡献的开源项目,eKuiper 先后与 EdgeX Foundry、KubeEdge 等知名边缘计算框架完成了集成,共同构建更加繁荣的边缘计算生态。

目前,eKuiper 项目正在 LF Edge 基金会的管理下以开源项目的标准治理方式积极推进中。相信在未来,eKuiper 将为边缘计算领域带来更多惊喜。

活动预告

深度学习流水线优化 流水线指令优化 流水线效率提升软件_大数据_02

eKuiper v1.4.0 大幅提升了效率及性能,增强边缘端的开发体验。为了让大家快速上手新版本,eKuiper 研发团队的工程师准备了一期在线分享,将为大家在线演示 eKuiper v1.4.0 的全新功能,扫描下方二维码即可报名!

时间:2021/12/21 16:00

内容:

  1. 规则流水线:展示基于类似 mqtt topic 的方式,进行规则间的灵活整合
  2. Portable 插件:演示 go portable 插件实现跟原生插件类似功能,同时演示如何使用 python 插件进行 AI 推理
  3. 连接复用:演示连接复用的配置方式,并展示如何集成带安全配置的 EdgeX Foundry
  4. 其他新功能讲解