1. 程式人生 > >spark同storm的對比

spark同storm的對比

對比點StormSpark Streaming
實時計算模型純實時,來一條資料,處理一條資料準實時,對一個時間段內的資料收集起來,作為一個RDD,再處理
實時計算延遲度毫秒級秒級
吞吐量
事務機制支援完善支援,但不夠完善
健壯性 / 容錯性ZooKeeper,Acker,非常強Checkpoint,WAL,一般
動態調整並行度支援不支援
對於Storm來說:1、建議在那種需要純實時,不能忍受1秒以上延遲的場景下使用,比如實時金融系統,要求純實時進行金融交易和分析2、此外,如果對於實時計算的功能中,要求可靠的事務機制和可靠性機制,即資料的處理完全精準,一條也不能多,一條也不能少,也可以考慮使用Storm3、如果還需要針對高峰低峰時間段,動態調整實時計算程式的並行度,以最大限度利用叢集資源(通常是在小型公司,叢集資源緊張的情況),也可以考慮用Storm
4、如果一個大資料應用系統,它就是純粹的實時計算,不需要在中間執行SQL互動式查詢、複雜的transformation運算元等,那麼用Storm是比較好的選擇對於Spark Streaming來說:1、如果對上述適用於Storm的三點,一條都不滿足的實時場景,即,不要求純實時,不要求強大可靠的事務機制,不要求動態調整並行度,那麼可以考慮使用Spark Streaming2、考慮使用Spark Streaming最主要的一個因素,應該是針對整個專案進行巨集觀的考慮,即,如果一個專案除了實時計算之外,還包括了離線批處理、互動式查詢等業務功能,而且實時計算中,可能還會牽扯到高延遲批處理、互動式查詢等功能,那麼就應該首選Spark生態,用Spark Core開發離線批處理,用Spark SQL開發互動式查詢,用Spark Streaming開發實時計算,三者可以無縫整合,給系統提供非常高的可擴充套件性