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,從節點稱為supervisors 基於ZooKeeper協調的主從架構。主節點是job tracker,從節點是task tracker
Storm流處理程序可以在叢集上每秒訪問數萬條訊息。 Hadoop分散式檔案系統(HDFS)使用MapReduce框架處理海量資料,這需要幾分鐘或幾小時。
Storm拓撲執行直到使用者關閉或發生意外的不可恢復的故障。 MapReduce作業按順序執行並最終完成。
兩者都是分散式和容錯的
如果nimbus/supervisor宕機,重新啟動可以從中斷處繼續,因此不會受到任何影響。 如果JobTracker宕機,所有正在執行的作業都將丟失。

Apache Storm 的用例

Apache Storm以即時大資料流處理而聞名。因此,大多數公司都將Storm作為其系統的一個組成部分。一些值得注意的例子如下:

Twitter - Twitter使用Apache Storm來執行其一系列“釋出者分析產品”。“釋出者分析產品”處理Twitter平臺上的每一條推文和點選。Apache Storm與Twitter基礎架構深度整合。

NaviSite - NaviSite使用Storm進行事件日誌監控/審計系統。系統中生成的每個日誌都將透過Storm。Storm將根據配置的正則表示式集檢查訊息,如果匹配,則將該特定訊息儲存到資料庫。

Wego - Wego是位於新加坡的旅遊元搜尋引擎。旅遊相關資料來自世界各地的許多來源,時間也不同。Storm幫助Wego搜尋即時資料,解決併發問題併為終端使用者找到最佳匹配。

Apache Storm 的優勢

以下是Apache Storm提供的優勢列表:

  • Storm是開源的、健壯的和使用者友好的。它可以用於小型公司以及大型公司。

  • Storm具有容錯性、靈活性和可靠性,並支援任何程式語言。

  • 允許即時流處理。

  • Storm非常快,因為它具有強大的資料處理能力。

  • Storm可以透過線性新增資源來保持在不斷增加的負載下的效能。它具有高度的可擴充套件性。

  • Storm在幾秒鐘或幾分鐘內(取決於問題)完成資料重新整理和端到端交付響應。它的延遲非常低。

  • Storm具有運營智慧。

  • 即使叢集中的任何連線節點宕機或訊息丟失,Storm也能保證資料處理。

廣告
© . All rights reserved.