Apache Storm簡介
什麼是Apache Storm?
Apache Storm是一個分散式即時大數據處理系統。 Storm設計用於在容錯和水平可擴展方法中處理大量資料。它是一個流資料框架,具有最高的攝取率。雖然Storm是無狀態的,它透過Apache ZooKeeper管理分散式環境和叢集狀態。它很簡單,您可以並行地對即時資料執行各種操作。
Apache Storm繼續成為即時資料分析的領導者。 Storm易於設定和操作,並且它保證每個訊息將透過拓撲至少處理一次。
Apache Storm vs Hadoop
基本上Hadoop和Storm框架用於分析大數據。兩者互補,在某些方面有所不同。 Apache Storm執行除持久性之外的所有操作,而Hadoop在所有方面都很好,但滯後於即時計算。下表比較了Storm和Hadoop的屬性。
Storm | Hadoop |
---|---|
「即時串流處理 | |
##即時串流處理 | #批次處理 |
無狀態有狀態 | 主/從架構與基於ZooKeeper的協調。主節點稱為nimbus,從屬節點是主管 | 。
作業追蹤器 | ,從節點是任務追蹤器 | 。
Storm流過程在叢集上每秒可以存取數萬個訊息。 | Hadoop分散式檔案系統(HDFS)使用MapReduce框架來處理大量的數據,需要幾分鐘或幾小時。 |
Storm拓撲運行直到用戶關閉或意外的不可恢復故障。 | MapReduce作業依序執行並最終完成。|
兩者都是分散式和容錯的 |
使用Apache Storm的例子
Apache Storm對於即時大數據流處理非常有名。因此,大多數公司都將Storm用作其係統的一個組成部分。一些值得注意的例子如下 -
Twitter - Twitter正在使用Apache Storm作為其「發布商分析產品」。 「發布商分析產品」處理Twitter平台中的每個tweets和點擊。 Apache Storm與Twitter基礎架構深度整合。
NaviSite - NaviSite正在使用Storm進行事件日誌監控/稽核系統。系統中產生的每個日誌都將通過Storm。 Storm將根據配置的正規表示式集檢查訊息,如果存在匹配,那麼該特定訊息將保存到資料庫。
Wego - Wego是位於新加坡的旅行元搜尋引擎。旅行相關數據來自世界各地的許多來源,時間不同。 Storm幫助Wego搜尋即時數據,解決並發問題,並為最終用戶找到最佳匹配。
Apache Storm優點
以下是Apache Storm提供的好處清單:
Storm是開源的,強大的,用戶友好的。它可以用於小公司和大公司。
Storm是容錯的,靈活的,可靠的,並且支援任何程式語言。
允許即時串流處理。
Storm是令人難以置信的快,因為它具有巨大的處理資料的力量。
Storm可以透過線性增加資源來維持效能,即使在負載增加的情況下也是如此。它是高度可擴展的。
Storm在幾秒鐘或幾分鐘內執行資料刷新和端對端傳送回應取決於問題。它具有非常低的延遲。
Storm有操作智能。
Storm提供保證的資料處理,即使群集中的任何連接的節點死或訊息遺失。