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
結果:
公衆號
關注公衆號 得到第一手文章/文檔更新推送。