DistributeLoad

Description:

Distributes FlowFiles to downstream processors based on a Distribution Strategy. If using the Round Robin strategy, the default is to assign each destination a weighting of 1 (evenly distributed). However, optional properties can be added to the change this; adding a property with the name '5' and value '10' means that the relationship with name '5' will be receive 10 FlowFiles in each iteration instead of 1.

Tags:

distribute, load balance, route, round robin, weighted

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Number of RelationshipsNumber of Relationships1Determines the number of Relationships to which the load should be distributed
Distribution StrategyDistribution Strategyround robin
  • round robin Relationship selection is evenly distributed in a round robin fashion; all relationships must be available.
  • next available Relationship selection is distributed across all available relationships in order of their weight; at least one relationship must be available.
  • load distribution service Relationship selection is distributed by supplied LoadDistributionService Controller Service; at least one relationship must be available.
  • overflow Relationship selection is the first available relationship without further distribution among all relationships; at least one relationship must be available.
Determines how the load will be distributed. Relationship weight is in numeric order where '1' has the greatest weight.

Dynamic Properties:

Supports Sensitive Dynamic Properties: No

Dynamic Properties allow the user to specify both the name and value of a property.

NameValueDescription
The relationship name (positive number)The relationship Weight (positive number)Adding a property with the name '5' and value '10' means that the relationship with name '5' will receive 10 FlowFiles in each iteration instead of 1.
Supports Expression Language: false

Relationships:

NameDescription
1Where to route flowfiles for this relationship index

Dynamic Relationships:

A Dynamic Relationship may be created based on how the user configures the Processor.

NameDescription
A number 1..<Number Of Relationships>FlowFiles are sent to this relationship per the <Distribution Strategy>

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
distribute.load.relationshipThe name of the specific relationship the FlowFile has been routed through

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.