天天看點

Flink、spark streaming、storm對比的異同

1、flink 、spark streaming 、storm 的異同:

flink 架構和容錯方面 和spark Straming storm 異同。

Flink、spark streaming、storm對比的異同

flink 和storm 、sparkstreaming 在處理模型延遲和資料保證時異同:

Flink、spark streaming、storm對比的異同

現有的開源計算方案,會把流處理和批處理作為兩種不同的應用類型:流處理一般需要支援低延遲、Exactly-once保證,而批處理需要支援高吞吐、高效處理。

而flink 在低延遲和資料順序方面(利用水印)等都相對spark streaming 更具優勢

2、flink 的事件驅動型應用

事件型應用是一類具有狀态的應用,它從一個或多個事件流提取資料,并根據到來的事件去觸發計算、狀态更新或其它外部動作。

事件驅動型應用實在計算存儲分離的傳統應用基礎上進化而來,在傳統的架構中,應用需要讀寫遠端事務型資料庫。

相反,事件驅動型應用是基于狀态化流處理來完成,在該設計中,資料和計算不會分離,應用隻要通路本地(記憶體或磁盤)即可擷取資料。系統容錯性的實作依賴于定期向遠端持久化存儲寫入checkpoint.下圖是傳統應用和事件驅動應用架構差別。

Flink、spark streaming、storm對比的異同

3、flink Exactly-once保證研究

參考:http://www.whitewood.me/2018/10/16/Flink-Exactly-Once-%E6%8A%95%E9%80%92%E5%AE%9E%E7%8E%B0%E6%B5%85%E6%9E%90/

繼續閱讀