Arroyo是一个使用Rust编写的分布式流处理引擎,旨在高效地对数据流进行有状态的计算。与传统的批处理不同,流处理引擎可以同时处理有界和无界的数据源,并在结果可用时立即得出结果。
废话不多说,先上github:
https://github.com/ArroyoSystems/arroyo
简而言之:Arroyo可让你对大量实时数据提出复杂问题,并在亚秒级时间内获得结果。
说到这里,感觉就是Flink在Rust中的完美替代品。如果真的可以稳定使用,那么将是Rust撼动Java在大数据流式处理计算的第一枪。
我们看下, 官网的宣传图:
官方标榜主要特性有:
支持SQL和Rust流水线
可扩展到每秒数百万事件
支持状态操作,如窗口和连接
支持状态检查点功能,以实现流水线的容错和恢复
通过Dataflow模型进行及时的流处理
用例
检测欺诈和安全事件
实时产品和业务分析
实时数据摄取到您的数据仓库或数据湖中
实时机器学习特征生成
为什么选择Arroyo
现在已经有一些现有的流引擎,包括Apache Flink, Spark streaming和Kafka Streams。为什么要搞一个新的呢?
官方也给出了具体的说明:(可以说非常炸裂)
无服务器运维:Arroyo管道被设计为在现代云环境中运行,支持无缝扩展、恢复和重新调度。
高性能SQL:SQL是一流的关注点,具有始终优秀的性能。
专为非专家设计:Arroyo从其内部实现中清晰地分离了管道API。使用者不需要成为流处理专家即可构建实时数据pipeline。
如何开始
可以通过运行以下Docker命令来使用只有单个节点的Arroyo群集:
$dockerrun-p8000:8000-p8001:8001ghcr.io/arroyosystems/arroyo-single:multi-arch
然后可以在浏览器打开:http://localhost:8000
深入学习
官方文档:https://doc.arroyo.dev/getting-started(看了下,文档写的非常好)
使用复杂SQL构建你的第一个pipeline
https://doc.arroyo.dev/tutorial/first-pipeline
总结
之前也有Rust尝试做大数据套件,但是都没有很成功的案例。或许Arroyo将是第一个用Rust编写的分布式流处理引擎成功的案例,这样将再次证明Rust在大数据基建领域的可行性。
后面我也会继续关注Arroyo,并写一系列的使用教程发布到本公众号,并做一些Flink和Arroyo的深入对比。
谢谢大家支持, 做第一个吃螃蟹的人。
审核编辑 :李倩
-
SQL
+关注
关注
1文章
775浏览量
44355 -
机器学习
+关注
关注
66文章
8458浏览量
133280 -
Rust
+关注
关注
1文章
231浏览量
6698
原文标题:Rust流处理新秀,即将抗衡Flink霸主地位
文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
JavaScript与Rust和WebAssembly集成

云服务器 Flexus X 实例,Docker 集成搭建搭建 Flink

基于图遍历的Flink任务画布模式下零代码开发实现方案

如何用Rust编写一个ChatGPT桌面应用(保姆级教程)

未来嵌入式系统的黄金搭档 MCX N947遇上Rust

Vector和HighTec推出基于Rust和AUTOSAR Classic实现安全应用的解决方案

什么是 Flink SQL 解决不了的问题?
Linux 6.10集成RISC-V更新,支持Rust编程语言
在Aurix Tc375Lk上使用Rust编程语言可以吗?
鸿蒙OpenHarmony开发板解析:【Rust模块配置规则和指导】

在嵌入式系统中集成Rust和Qt的实践

FE电动方程式第十赛季官方新秀练习赛的全体车手阵容公布

评论