eKuiper v1.4.0 正式发布:新增规则流水线功能与 Go 语言扩展插件,运行性能提升...
Posted 边缘计算社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eKuiper v1.4.0 正式发布:新增规则流水线功能与 Go 语言扩展插件,运行性能提升...相关的知识,希望对你有一定的参考价值。
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 将为边缘计算领域带来更多惊喜。
活动预告
eKuiper v1.4.0 大幅提升了效率及性能,增强边缘端的开发体验。为了让大家快速上手新版本,eKuiper 研发团队的工程师准备了一期在线分享,将为大家在线演示 eKuiper v1.4.0 的全新功能,扫描下方二维码即可报名!
时间:2021/12/21 16:00
内容:
规则流水线:展示基于类似 mqtt topic 的方式,进行规则间的灵活整合
Portable 插件:演示 go portable 插件实现跟原生插件类似功能,同时演示如何使用 python 插件进行 AI 推理
连接复用:演示连接复用的配置方式,并展示如何集成带安全配置的 EdgeX Foundry
其他新功能讲解
即刻扫码,免费报名
推荐阅读
➟
eKuiper 联手 OpenYurt,解决 IoT 场景下边缘流数据处理难题
➟
EMQ 边缘计算领域又一里程碑!Kuiper 正式加入 LF Edge 基金
点击"阅读原文" ,即刻报名。
↓↓↓
以上是关于eKuiper v1.4.0 正式发布:新增规则流水线功能与 Go 语言扩展插件,运行性能提升...的主要内容,如果未能解决你的问题,请参考以下文章
ModStartCMS v1.4.0 发布 模块开发,从未如此简单
使用 Prometheus 监控 eKuiper 规则运行状态
高效边缘流处理方案教程:使用 OpenYurt 部署和管理 eKuiper
EdgeX(15) :在EdgeX环境下配置eKuiper规则引擎服务,配置规则处理device-virtual发送的数据,并转发给HTTP服务