twitter發布了新開發的資料實時分析平台heron,以下為官方文件摘譯:
我們每天在twitter上處理著數十億的事件。正如你猜測的那樣,實時分析這些事件是乙個巨大的挑戰。目前,我們主要的分析平台是開源的分布式流計算系統storm。但是隨著twitter資料規模變大和多樣化,我們的需求已經發生了改變。因此,我們設計了乙個新系統heron——實時分析平台,它可完全相容storm的api。我們在昨天的sigmod 2015上正式推出。
基本原理和方法:
實時流系統是在大規模資料分析的基礎上實現系統性的分析。另外,它還需要:每分鐘處理數十億事件的能力、有秒級延遲,和行為可預見;在故障時保證資料的準確性,在達到流量峰值時是彈性的,並且易於除錯和在共享的基礎設施上實現簡單部署。
為了滿足這些需求,我們討論出了幾種方案,包括:擴充套件storm、使用其他的開源系統、開發乙個全新的平台。因為我們有幾個需求是要求改變 storm的核心架構,所以對它進行擴充套件需要乙個很長的開發周期。其他的開源流處理框架並不能完美滿足我們對於規模、吞吐量和延遲的需求。而且,這些系統 也不能相容storm api——適應乙個新的api需要重寫幾個topologies和修改高階的abstractions,這會導致乙個很長的遷移過程。所以,我們決定建立 乙個新的系統來滿足以上提到需求和相容storm api。
heron的特色:
我們開發heron,主要的目標是增加效能**、提高開發者的生產力和易於管理。
圖1:heron架構
圖2:拓撲架構
對於heron的整體架構請看圖1和圖2。使用者使用storm api來構建和提交topologies來實現乙個排程。排程執行的每乙個topology作為乙個job,有幾個容器組成,其中乙個容器執行主 topology,負責管理topology。每個剩餘的容器執行乙個流管理器,負責資料路由——乙個權值管理器,用來蒐集和報告各種權值和多個 heron例項(執行user-defined spout/bolt**)程序。這些容器是基於集群中的節點的資源可用性來實現分配和排程。對於topology元資料,例如物理計畫和執行細節,都是 保管在zookeeper中。
heron功能:
圖3:heron ui,顯示邏輯計畫、物理計畫和拓撲狀態
heron效能
我們比較了heron和storm,樣本流是150,000個單詞,如下圖所示:
圖4. throughput with acks enabled
圖5. latency with acks enabled
如圖4所示,heron和storm的吞吐量呈現線性增長的趨勢。然而,在所有的實驗中,heron吞吐量比storm高10–14倍。同樣在端至端延遲方面,如圖5所示,兩者都在增加,可heron延遲比storm低5–15倍。
除此之外,我們已經執行topologies的規模大概是數百台的機器,其中許多實現了每秒產生數百萬次事件的資源處理,完全沒有問題。有了 heron,眾多topologies的每秒集群資料可達到亞秒級延遲。在這些案例中,heron實現目標的資源消耗能夠比storm更低。
heron at twitter
在twitter,heron作為我們主要的流**系統,執行數以百萬計的開發和生產topologies。由於heron可高效使用資源,在遷移twitter所有的topologies後,整體硬體減少了3倍,導致我們的基礎設定效率有了顯著的提公升。
下一步?
我們樂意協作和在storm社群分享我們的經驗,或是其他實時流處理系統的社群,以便進一步促進這些程式的開發。
我們第一步是分享我們在sigmod 2015上的heron研究**。你會發現更多的細節:我們設計heron的動機、系統的功能和效能,以及我們如何在twitter上使用它。
致謝:
sanjeev kulkarni, maosong fu, nikunj bhagat, sailesh mittal, vikas r. kedigehalli, siddarth taneja (@staneja), zhilan zweiger, christopher kellogg, mengdie hu (@mengdieh) and michael barry.
「注:上面感謝的是heron貢獻者,twitter id也給了出來,如果對這個系統很感興趣,不妨聯絡他們。」
還要著重感謝storm社群,他們提供了很多的經驗教訓,幫助我們推進分布式實時分析處理系統。
參考:
twitter heron: streaming at scale, proceedings of acm sigmod conference, melbourne, australia, june 2015
storm@twitter, proceedings of acm sigmod conference, snowbird, utah, june 2014
實時Web資料的實時分析
鄭昀 玩聚sr 20100306 但是實時分析就不那麼容易了。實時分析大致有幾種 熱門鏈結分析 把關聯結果中相對熱門 相對重要的鏈結挑出來,單獨展示,可以按時間排序或按重要性排序。oneriot比較擅長這一點,如搜尋chile。熱門鏈結的甄選一般都是依據twitter等微部落格訊息的鏈結分享次數。語...
對大資料進行實時分析
大資料分析 bda 包括大資料的採集 儲存 分析 展示。而其中分析是bda的關鍵。說到分析,可以分為歷史分析和實時分析。上次我們著重提過了歷史分析,尤其是互動式歷史分析,當然還有批處理式的歷史分析。這次,我們回過頭來再談談實時分析,包括流處理 cep,等等。說到cep,複雜事件處理 complex ...
對大資料進行實時分析
大資料分析 bda 包括大資料的採集 儲存 分析 展示。而其中分析是bda的關鍵。說到分析,可以分為歷史分析和實時分析。上次我們著重提過了歷史分析,尤其是互動式歷史分析,當然還有批處理式的歷史分析。這次,我們回過頭來再談談實時分析,包括流處理 cep,等等。說到cep,複雜事件處理 complex ...