|
hace 2 años | |
---|---|---|
.github | hace 2 años | |
cmd | hace 2 años | |
deploy | hace 2 años | |
docs | hace 2 años | |
etc | hace 2 años | |
extensions | hace 2 años | |
internal | hace 2 años | |
pkg | hace 2 años | |
plugins | hace 3 años | |
sdk | hace 2 años | |
test | hace 2 años | |
tools | hace 2 años | |
.gitignore | hace 2 años | |
LICENSE | hace 5 años | |
Makefile | hace 3 años | |
README-CN.md | hace 2 años | |
README.md | hace 2 años | |
build-plugins.sh | hace 2 años | |
extensions.mod | hace 2 años | |
extensions.sum | hace 2 años | |
go.mod | hace 2 años | |
go.sum | hace 2 años |
LF Edge eKuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。eKuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(比如 Apache Spark,Apache Storm 和 Apache Flink 等)迁移到边缘端。eKuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于源 (Source)
,SQL (业务逻辑处理)
, 目标 (Sink)
的规则引擎来实现边缘端的流式数据处理。
应用场景
eKuiper 可以运行在各类物联网的边缘使用场景中,比如工业物联网中对生产线数据进行实时处理;车联网中的车机对来自汽车总线数据的即时分析;智能城市场景中,对来自于各类城市设施数据的实时分析。通过 eKuiper 在边缘端的处理,可以提升系统响应速度,节省网络带宽费用和存储成本,以及提高系统安全性等。
超轻量
跨平台
完整的数据分析
高可扩展性
提供插件扩展机制,可以支持在源 (Source)
,SQL 函数
, 目标 (Sink)
三个方面的扩展
SQL 函数:内置支持60+常见的函数,提供扩展点可以扩展自定义函数
管理能力
与 EMQ X Edge 集成
提供了与 EMQ X Neuron 和 EMQ X Edge 的无缝集成,实现在边缘端从消息接入到数据分析端到端的场景实现能力
你可通过以下途径与 EMQ 社区及开发者联系:
欢迎你将任何 bug、问题和功能请求提交到 lf-edge/ekuiper。
欢迎订阅社区日历 。
欢迎参加社区周会,每周五早上 10:30 举行。
感谢您的贡献!请参阅 CONTRIBUTING.md 获取详细信息。
{"temperature": 10, "humidity" : 90}
, 温度与湿度的值是介于 0 ~ 100 之间的随机整数值SELECT * FROM demo WHERE temperature > 50
设备 | 每秒发送消息数 | CPU 使用 | 内存 |
---|---|---|---|
树莓派 3B+ | 12k | sys + user: 70% | 20M |
AWS t2.micro (x86: 1 Core * 1 GB) Ubuntu 18.04 |
10k | sys + user: 25% | 20M |
{
"Device": "demo", "Created": 000, …
"readings":
[
{"Name": "Temperature", value: "30", "Created":123 …},
{"Name": "Humidity", value: "20", "Created":456 …}
]
}
eKuiper 从 EdgeX ZeroMQ 消息总线订阅数据,并且使用 SELECT * FROM demo WHERE temperature > 50
来分析数据,其中 90% 数据被规则所过滤。
分析结果将被发送到 nop sink,所有的数据都被忽略。
每秒发送消息数 | CPU 使用 | 内存 | |
---|---|---|---|
AWS t2.micro( 1 Core * 1 GB) Ubuntu18.04 |
11.4 k | sys+user: 75% | 32M |
请参考测试指南进行该基准测试。
编译二进制:
编译二进制文件: $ make
编译支持 EdgeX 的二进制文件: $ make build_with_edgex
编译核心包的二进制文件: $ make build_core
安装文件打包:
安装文件打包:: $ make pkg
支持 EdgeX 的安装文件打包: $ make pkg_with_edgex
Docker 镜像:$ make docker
Docker 镜像默认支持 EdgeX
项目版本页面里提供了预编译的二进制文件。如果您的操作系统或架构没有预编译的文件,请使用交叉编译自行构建,请参考此文档。
编译时,用户可通过 go build tags 选择需要编译的功能编译出自定义的仅包含所需功能的二进制包从而减少可执行文件的大小。在资源受限的环境中,包的大小尤其重要。进一步的信息,请参考功能。