比Storm更快的Twitter Heron

banq發表於2015-06-03
Tiwtter公佈了其新型大資料實時處理架構Heron,Tiwtter每天數十億的事件資料,過去主要使用Apache Storm進行分析處理,現在隨著資料量增加等不斷演進,他們設計了一個新的系統Heron,充分相容於Storm的API的實時分析平臺。

一個實時流系統要求一定的系統效能能夠大規模分析資料,需要每分鐘處理數十億的事件,只能有次秒級的延遲,較高的資料精確性,能夠彈性應付流量尖峰。易於除錯,方便部署。

為了實現這個目標,他們進行了幾種可能方案:擴充Storm,但是因為這個需求已經會改變Storm核心架構,擴充它會造成更長的開發週期,其他開源流處理框並不能在規模 吞吐量和延遲上同時滿足要求,而且這些系統不相容於Storm API,採取新的API意味著更大的變動更長的遷移時間,這樣,他們決定建立一個又符合新的要求,又能相容於Storm API的新系統。

開發Heron主要目標是提高效能預期,提供開發人員的生產性和易於管理,整個Heron架構如圖:使用者呼叫Storm API建立和提交拓撲到一個排程器,這個排程器以Job方式執行每個拓撲,每個job由幾個容器組成,容器之一執行主拓撲,負責管理拓撲,其餘容器每個執行一個流管理器,負責資料路由,有一個度量管理器會收集和報告各種度量資料,很多程式稱為Heron例項會執行使用者定義的Spout/bolt程式碼(Storm術語),這些容器將基於資源跨叢集節點被排程和分配,拓撲的後設資料如物理計劃和執行細節保留在ZooKeeper中。

[img index=1]


[img index=2]


Heron有以下特點:
1. 抽離的排程器,透過抽象出專門的排程器元件,他們可以輕鬆在一個共享基礎設施上部署執行各種排程框架,如Mesos, YARN和其他定製環境。

2.處理尖峰和擁塞:Heron有反壓機制能夠在執行時動態調整拓撲中的資料流速率,根本不會影響資料的精確性,這對於應付尖峰流量和管道堵塞時特別有用。

3.易於除錯,每個任務以程式級別隔離執行,這就容易理解其執行行為 效能和情況,配合UI能夠啟用更有效的問題定位。

4.相容於Storm

5.可擴充套件性和延遲。

6.Heron效能:Heron比Storm在吞吐量上有10-14倍提升,而延遲降低了5-15倍。

相關文章