天天看點

LinkedIn 開源其專用于實時資料的處理分布式流處理架構 Samza

最近LinkedIn 開源其專用于實時資料的處理分布式流處理架構 Samza—— Samza ,非常像Twitter的流處理系統 Storm

。不同的是Samza基于Hadoop,而且使用了LinkedIn自家的Kafka分布式消息系統。

Storm和Samza極其相似,就像LinkedIn的

Chris Riccomini在部落格中

闡述的那樣:“[Samza]可以幫助你建構應用,處理消息隊列——更新資料庫、計數以及其他的聚合、轉換消息等等。”而這些其實都是很經典的Storm應用,隻不過遷移到Samza之上了,Samza文檔也對比了這兩個系統。

上個月,Samza在各種論壇和社群上被廣泛傳播,其中有評論指出了Samza可能帶來的好處:

“跟很多人一樣,我們使用Storm來處理基于Kafka的流資料,然後,再将這些資料發送到Hadoop上進行離線分析。如果能把這三個環境整合到一起,就是一個很大的勝利。“

表面上看,這似乎是一個很不錯的想法。Apache軟體基金會的項目首頁,介紹了搭配使用Kafka和YARN的特點和優勢。

高容錯:  如果伺服器或者處理器出現故障,Samza将與YARN一起重新啟動流處理器。

高可靠性:Samza使用Kafka來保證所有消息都會按照寫入分區的順序進行處理,絕對不會丢失任何消息。

可擴充性:Samza在各個等級進行分割和分布;Kafka提供一個有序、可分割、可重部署、高容錯的系統;YARN提供了一個分布式環境供Samza容器來運作。

LinkedIn 開源其專用于實時資料的處理分布式流處理架構 Samza

Samza的未來

至于Samza能不能像Storm一樣吸引大量的使用者和社群參與創新,還有待觀察。但是LinkedIn肯定會像Twitter開發Storm一樣來保證Samza的發展,而且後者在可用性上更具優勢,畢竟運作在YARN或者Mesos架構上的Samza多了一些靈活性。

如果Samza未來有一個很好的前景,那麼YARN也對得起Hadoop社群在過去18月的“炒作”,它不僅可以運作Storm,還可以運作Samza,甚至還可以運作其他很多的東西。這點很重要,畢竟很多軟體廠商都把大資料的“期貨”(甚至整個未來)壓在了Hadoop上,他們希望這個平台能成為最後的赢家。

LinkedIn 開源其專用于實時資料的處理分布式流處理架構 Samza

以往對MapReduce技術的依賴限制了Hadoop的适用性,但是YARN已經開放了對大規模的流處理、互動式SQL查詢、機器學習和圖像處理負載的支援。随着技術的日新月異,Hadoop成為支撐所有大資料應用庫的想法變得更加現實。