- Apache Storm 教程
- Apache Storm - 首頁
- Apache Storm - 簡介
- Apache Storm - 核心概念
- Apache Storm - 叢集架構
- Apache Storm - 工作流程
- Storm - 分散式訊息系統
- Apache Storm - 安裝
- Apache Storm - 工作示例
- Apache Storm - Trident
- Twitter 中的 Apache Storm
- 雅虎財經中的 Apache Storm
- Apache Storm - 應用
- Apache Storm 有用資源
- Apache Storm - 快速指南
- Apache Storm - 有用資源
- Apache Storm - 討論
Apache Storm - 工作流程
一個工作的 Storm 叢集應該有一個 nimbus 和一個或多個 supervisor。另一個重要的節點是 Apache ZooKeeper,它將用於 nimbus 和 supervisor 之間的協調。
現在讓我們仔細看看 Apache Storm 的工作流程 -
最初,nimbus 將等待“Storm Topology”提交給它。
一旦提交了拓撲,它將處理拓撲並收集所有要執行的任務以及任務執行的順序。
然後,nimbus 將任務均勻地分配給所有可用的 supervisor。
在特定的時間間隔內,所有 supervisor 將向 nimbus 傳送心跳以通知它們仍然存活。
當 supervisor 死亡並且沒有向 nimbus 傳送心跳時,nimbus 將任務分配給另一個 supervisor。
當 nimbus 本身死亡時,supervisor 將在沒有問題的情況下繼續執行已分配的任務。
一旦所有任務都完成了,supervisor 將等待新的任務到來。
在此期間,死掉的 nimbus 將由服務監控工具自動重啟。
重啟後的 nimbus 將從停止的地方繼續。同樣,死掉的 supervisor 也可以自動重啟。由於 nimbus 和 supervisor 都可以自動重啟,並且兩者都將像以前一樣繼續,因此 Storm 保證至少處理一次所有任務。
一旦所有拓撲都處理完畢,nimbus 將等待新的拓撲到達,同樣 supervisor 也將等待新的任務。
預設情況下,Storm 叢集中有兩種模式 -
本地模式 - 此模式用於開發、測試和除錯,因為它是最簡單的方法來檢視所有拓撲元件協同工作的方式。在此模式下,我們可以調整引數,使我們能夠檢視拓撲在不同的 Storm 配置環境中如何執行。在本地模式下,storm 拓撲在本地機器上的單個 JVM 中執行。
生產模式 - 在此模式下,我們將拓撲提交到正在工作的 storm 叢集,該叢集由許多程序組成,通常執行在不同的機器上。如 Storm 工作流程中所述,工作叢集將無限期執行,直到關閉。