Apache NIFI DistributeLoad

DistributeLoad


編輯人:酷酷的誠 郵箱:[email protected]


描述

該處理器根據分發策略將流文件分發給下游處理器。如果使用循環策略,默認情況下爲每個目的地分配1個權重(均勻分佈)。當然,權重與 relationship都是靈活可配的,比如自定義 屬性名‘5’,值‘2’,那麼relationship爲‘5’的權重爲2。

屬性配置

在下面的列表中,必需屬性的名稱以粗體顯示。任何其他屬性(不是粗體)都被認爲是可選的,並且指出屬性默認值(如果有默認值),以及屬性是否支持表達式語言。

屬性名稱 默認值 可選值 描述
Number of Relationships 1   確定負載應該分佈到的關係的數量
Distribution Strategy round robin ▪round robin
▪next available
▪load distribution service
確定負載將如何分配。如果使用循環,將不會分發任何流文件,除非所有目的地都可以接受流文件;當使用Next Available時,只要至少有一個目的地可以接受流文件,就會分發流文件。

動態屬性:

該處理器允許用戶指定屬性的名稱和值。

屬性名稱 屬性值 描述
The relationship name(positive number) The relationship Weight(positive number) 添加名稱爲“5”和值爲“10”的屬性意味着名稱爲“5”的關係將在每次迭代中接收10個流文件,而不是1個。
支持表達式語言:false

連接關係

名稱 描述
1  

自定義連接關係

可以根據用戶配置處理器的方式創建動態關係。

名稱 描述
數字 按照<分發策略>將流文件發送到這個關係

讀取屬性

沒有指定。

寫屬性

沒有指定。

狀態管理

此組件不存儲狀態。

限制

此組件不受限制。

輸入要求

此組件需要傳入關係。

系統資源方面的考慮

沒有指定。

應用場景

按權重向下遊多個處理器分發數據。在單個流程處理數據達到瓶頸,而整體環境資源充足,這種情況有可能需要多個流程來分擔數據處理壓力。而該處理器充當一個分發數據的角色;(注:與connection的Load Balance要區分開)

示例說明

配置3個relationship,再分別配置不同的權重。

測試中使得數據分配前隊列中有6個flowfile

結果:

公衆號

關注公衆號 得到第一手文章/文檔更新推送。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章