白皮书
车联网设计与实现:搭建可靠、高效、符合行业需求的车联网平台 →

发布说明 - Kuiper 0.1

eKuiper Team
2020-1-3
发布说明 - Kuiper 0.1

Kuiper 团队宣布发布 Kuiper 0.1。Kuiper 0.1 可以从这里下载

EMQX Kuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。Kuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(比如 Apache SparkApache StormApache Flink 等)迁移到边缘端。Kuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于源 (Source)SQL (业务逻辑处理), 目标 (Sink) 的规则引擎来实现边缘端的流式数据处理。 Kuiper architect

网址:https://github.com/lf-edge/ekuiper

Github仓库: https://github.com/emqx/kuiper

概览

功能

  • 性能优化
    • 提供了针对 Kuiper 规则设置并发度的配置选项,在不同的场景下可以对其优化
      • source 里的concurrency 设置:设置运行的协程数,默认值为1。如果设置协程数大于1,必须使用共享订阅模式。
      • sink 里的concurrency 设置:设置运行的线程数。该参数值大于1时,消息发出的顺序可能无法保证。
      • SQL 计划中的concurrency设置:一条规则运行时会根据 SQL 语句分解成多个计划运行。该参数设置每个计划运行的线程数。该参数值大于1时,消息处理顺序可能无法保证。
    • 性能测试结果
      • 树莓派 3B+:12k 消息/秒; CPU 利用率 (sys+user): 70%; 内存: 20M
      • AWS t2.micro ( 1核 * 1 GB, Ubuntu18.04):10k 消息/秒; CPU 利用率 (sys+user): 25%; 内存: 20M
  • 支持 规则指标采集,可以被用于消息处理状态的跟踪。指标包含有,
    • in, out, exception 每个处理器的进、出与异常消息数
    • process_latency_ms 每个处理器的处理时延
    • buffer_length, 每个处理器中用掉的 buff 的长度
    • last_invocation, 每个处理器中最后调用时间
  • 在 OpenWrt Linux (Chaos Calmer 15.05) 系统 (1核,256M 内存硬件)中完成测试,工作正常
  • 如果 MQTT 源或者目标被断开,支持自动重连

问题修复

  • 如果在启动规则的时候发现错误,在命令行中打印出相关的错误信息
  • 修复了几个 REST Sink 的问题

联系

如果对Kuiper有任何问题,请随时通过contact@emqx.io与我们联系。

推荐阅读

2019-11-27eKuiper Team
轻量级边缘计算 EMQX Kuiper 与 AWS IoT 集成方案

在各类物联网项目中,比如智能楼宇项目,需要将楼宇的数据(比如电梯、燃气、水电等)进行采集和分析。一种解决方案是将所有的设备直接接入在云端的物联网平台,类似于像 AWS IoT 或者 Azure IoT Hub。本文以一个常见的物联网使用场景为案例,介绍了如何利用边缘计算来实现对业务的快速、低成本和有效地处理。