spark streaming、flink和storm區別淺析

1. 介紹

這三個計算框架經常被拿來比較。從個人角度來看,三者的比較能夠分爲兩類(mini-batches vs. streaming)。spark streaming屬於微批量的僞流式準實時計算框架(spark自己屬於批處理框架)。而flink和storm則做爲典型的實時流處理框架。html

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. 總結

我寫的比較簡略。強烈建議看看下面我羅列的參考資料,都寫的很不錯。api

參考資料:框架

  1. What is/are the main difference(s) between Flink and Storm?
  2. Introduction to Apache Flink for Spark Developers : Flink vs Spark
  3. Apache Flink和Apache Spark有什麼異同?它們的發展前景分別怎樣?
  4. 實時流處理Storm、Spark Streaming、Samza、Flink孰優孰劣?
  5. Spark與Flink:對比與分析
相關文章
相關標籤/搜索