1. 程式人生 > >流式計算框架調研

流式計算框架調研

三大主流框架

對比

框架 特點 支援的語言 接入者
Apache Storm Clojure語言實現,訊息的最小單位為元祖,可增量計算,延遲最低(毫秒級),也支援批處理 號稱任何語言(Java,PHP,Ruby,Perl,JS) Twitter,雅虎,Spotify,The Weather Channel等
Apache Spark Scala語言實現,微批處理(按時間間隔預先將其切分為一段一段的批處理作業),延遲比Storm高,高吞吐 Scala,Python,Java 亞馬遜,雅虎,NASA JPL,eBay還有百度等,國內知名度高,使用的公司也多,見
為什麼越來越多的公司在使用Spark Streaming
Apache Samza Scala語言實現,訊息佇列,一次一條訊息,也支援批處理,依賴Hadoop的Yarn和Apache Kafka Scala,Java LinkedIn,Intuit,Metamarkets,Quantiply,Fortscale

調研結果

  • 仍然使用Spark Streaming,直接使用官方scalaapi,因為其他封裝(包括官方提供的python)不穩定,且浪費掉了效能
  • Strom雖然提供PHP API,但Strom的編寫語言是Clojure,對於一些二次開發需求是不利的,且國內使用的不多。
  • 成本的對比:繼續使用Spark Streaming的成本在於要學習Scala語言,是短期的成本。而更換框架的成本是持續的,持續的踩坑,之前沒用過,低吞吐的特性是否滿足要求,心裡沒底。
  • 為何直接放棄了Samza,相比來說小眾了。

概念解釋