Rust流处理新秀,即将抗衡Flink霸主地位

电子说

1.2w人已加入

描述

Arroyo是一个使用Rust编写的分布式流处理引擎,旨在高效地对数据流进行有状态的计算。与传统的批处理不同,流处理引擎可以同时处理有界和无界的数据源,并在结果可用时立即得出结果。

废话不多说,先上github:

https://github.com/ArroyoSystems/arroyo

简而言之:Arroyo可让你对大量实时数据提出复杂问题,并在亚秒级时间内获得结果。

说到这里,感觉就是Flink在Rust中的完美替代品。如果真的可以稳定使用,那么将是Rust撼动Java在大数据流式处理计算的第一枪。

我们看下, 官网的宣传图:

Rust

官方标榜主要特性有:

支持SQL和Rust流水线

可扩展到每秒数百万事件

支持状态操作,如窗口和连接

支持状态检查点功能,以实现流水线的容错和恢复

通过Dataflow模型进行及时的流处理

用例

检测欺诈和安全事件

实时产品和业务分析

实时数据摄取到您的数据仓库或数据湖中

实时机器学习特征生成

为什么选择Arroyo

现在已经有一些现有的流引擎,包括Apache Flink, Spark streaming和Kafka Streams。为什么要搞一个新的呢?

官方也给出了具体的说明:(可以说非常炸裂)

无服务器运维:Arroyo管道被设计为在现代云环境中运行,支持无缝扩展、恢复和重新调度。

高性能SQL:SQL是一流的关注点,具有始终优秀的性能。

专为非专家设计:Arroyo从其内部实现中清晰地分离了管道API。使用者不需要成为流处理专家即可构建实时数据pipeline。

如何开始

可以通过运行以下Docker命令来使用只有单个节点的Arroyo群集:

 

$ docker run -p 8000:8000 -p 8001:8001 ghcr.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的深入对比。

谢谢大家支持, 做第一个吃螃蟹的人。

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分