spark streaming、flink和storm區別淺析
阿新 • • 發佈:2019-05-24
1. 介紹
這三個計算框架常常被拿來比較。從我的角度來看,三者的比較可以分為兩類(mini-batches vs. streaming)。spark streaming屬於微批量的偽流式準實時計算框架(spark本身屬於批處理框架)。而flink和storm則作為典型的實時流處理框架。
2. spark vs flink
兩者雖然有很多設計實現思路上比較接近以及互相學習,但是主要區別還是mini-batch和streaming的選擇上。根據實際場景在吞吐量和實時性上做權衡。
3. flink vs storm
名稱 | 批處理 | 資料處理保證 | api level | 容錯機制 |
---|---|---|---|---|
storm | 不支援 | at least once(實現採用record-level acknowledgments),Trident可以支援storm 提供exactly once語義 | low | record-level acknowledgments |
flink | 支援 | exactly once(實現採用Chandy-Lamport 演算法,即marker-checkpoint ) | high | marker-checkpoint |
4. 其他資料
5. 總結
我寫的比較簡略。強烈建議看看下面我羅列的參考資料,都寫的很不錯。
參考資料: