說明:1、worker與worker之間跨程序通訊;
2、worker內部中各個executor間的通訊,task物件--->輸入佇列queue--->執行--->輸出佇列
a、每個task中都對應乙個輸入佇列和輸出佇列;
b、乙個worker中所有的task的輸入佇列被封裝在乙個innermap中;
c、當上游的component元件需要傳送資料時,就會拿taskid去innermap中獲取相應的輸入佇列,
此時有兩中情況:
①:如果inputqueue不為空,表示資料要傳送task在當前的worker中,直接獲取對應的inputqueue進行push;
②:如果inputqueue為空,就需要走網路通訊。走網路通訊需要知道對方的ip和埠號,在worker初始化了乙個connectionmap物件。通過taskid找到這個task執行在那個worker上,用對應的superivsor ip+worker埠號獲取乙個netty連線,進行資料傳輸;
注:nettyclient資料傳輸模組在每個task中都有乙個。
d、nettyserver收到資料之後,會按照每個資料要傳送的taskid進行分發,分發到乙個反序列化佇列中;
e、在task初始化的時候,會建立乙個執行緒來消費taskid對應的反序列化佇列中的資料,並存放到對應task的inputqueue的佇列中。
注:上述所說的taskid和taskid與worker之間的對應關係,在nimbus分配任務已規劃完畢。
佇列是disruptorqueue(無鎖佇列),每秒中能處理600萬訂單,是由lamx的公司開源
storm學習筆記
1 基礎概念 元組 訊息傳遞的基本單元,支援所有的基本型別 字串和位元組陣列作為字段值。流 流由元組組成,spout是流的源頭從外部資料來源讀取元組並emit到拓撲中,bolt接收任何數量的輸入流執行處理後可能提交新的流。spout spout是拓撲的流的 是乙個拓撲中產生源資料流的元件。spout...
storm學習筆記
1.storm簡介 a storm是乙個開源免費的分布式實時計算系統,它可以輕鬆的處理無界的資料流。b storm只負責資料的計算,不負責資料的儲存。2.storm應用場景 3.storm的核心技術組成 a topology 拓撲 乙個拓撲是乙個圖的計算,乙個拓撲是由若干個spout,bolt組成 ...
storm學習筆記
一,概述 storm用來實時計算源源不斷產生的資料,如同流水線生產。storm用來實時處理資料,特點 低延遲 高可用 分布式 可擴充套件 資料不丟失。提供簡單容易理解的介面,便於開發。二,storm和hadoop的區別 storm用於實時計算,hadoop用於離線計算。storm處理的資料儲存在記憶...