Arroyo是一個使用Rust編寫的分布式流處理引擎,旨在高效地對數(shù)據(jù)流進(jìn)行有狀態(tài)的計算。與傳統(tǒng)的批處理不同,流處理引擎可以同時處理有界和無界的數(shù)據(jù)源,并在結(jié)果可用時立即得出結(jié)果。
廢話不多說,先上github:
https://github.com/ArroyoSystems/arroyo
簡而言之:Arroyo可讓你對大量實時數(shù)據(jù)提出復(fù)雜問題,并在亞秒級時間內(nèi)獲得結(jié)果。
說到這里,感覺就是Flink在Rust中的完美替代品。如果真的可以穩(wěn)定使用,那么將是Rust撼動Java在大數(shù)據(jù)流式處理計算的第一槍。
我們看下, 官網(wǎng)的宣傳圖:
官方標(biāo)榜主要特性有:
支持SQL和Rust流水線
可擴(kuò)展到每秒數(shù)百萬事件
支持狀態(tài)操作,如窗口和連接
支持狀態(tài)檢查點(diǎn)功能,以實現(xiàn)流水線的容錯和恢復(fù)
通過Dataflow模型進(jìn)行及時的流處理
用例
檢測欺詐和安全事件
實時產(chǎn)品和業(yè)務(wù)分析
實時數(shù)據(jù)攝取到您的數(shù)據(jù)倉庫或數(shù)據(jù)湖中
實時機(jī)器學(xué)習(xí)特征生成
為什么選擇Arroyo
現(xiàn)在已經(jīng)有一些現(xiàn)有的流引擎,包括Apache Flink, Spark streaming和Kafka Streams。為什么要搞一個新的呢?
官方也給出了具體的說明:(可以說非常炸裂)
無服務(wù)器運(yùn)維:Arroyo管道被設(shè)計為在現(xiàn)代云環(huán)境中運(yùn)行,支持無縫擴(kuò)展、恢復(fù)和重新調(diào)度。
高性能SQL:SQL是一流的關(guān)注點(diǎn),具有始終優(yōu)秀的性能。
專為非專家設(shè)計:Arroyo從其內(nèi)部實現(xiàn)中清晰地分離了管道API。使用者不需要成為流處理專家即可構(gòu)建實時數(shù)據(jù)pipeline。
如何開始
可以通過運(yùn)行以下Docker命令來使用只有單個節(jié)點(diǎn)的Arroyo群集:
$dockerrun-p8000:8000-p8001:8001ghcr.io/arroyosystems/arroyo-single:multi-arch
然后可以在瀏覽器打開:http://localhost:8000
深入學(xué)習(xí)
官方文檔:https://doc.arroyo.dev/getting-started(看了下,文檔寫的非常好)
使用復(fù)雜SQL構(gòu)建你的第一個pipeline
https://doc.arroyo.dev/tutorial/first-pipeline
總結(jié)
之前也有Rust嘗試做大數(shù)據(jù)套件,但是都沒有很成功的案例。或許Arroyo將是第一個用Rust編寫的分布式流處理引擎成功的案例,這樣將再次證明Rust在大數(shù)據(jù)基建領(lǐng)域的可行性。
后面我也會繼續(xù)關(guān)注Arroyo,并寫一系列的使用教程發(fā)布到本公眾號,并做一些Flink和Arroyo的深入對比。
謝謝大家支持, 做第一個吃螃蟹的人。
審核編輯 :李倩
-
SQL
+關(guān)注
關(guān)注
1文章
751瀏覽量
43985 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8320瀏覽量
132165 -
Rust
+關(guān)注
關(guān)注
1文章
228瀏覽量
6526
原文標(biāo)題:Rust流處理新秀,即將抗衡Flink霸主地位
文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論