Supported Since: 17.01
Egress Load Balancer processing element can be used to configure a load balancing strategy with a fail-over mechanism as well. The Egress Load Balancer supports 8 load balancing/failover strategies as described below.
As shown in below diagram, this is the simplest form of load balancing, all the messages which goes through the Egress Load Balancer processing element is directed to a single Egress Connector. Even though you can specify multiple Egress Connectors, the message will be always sent to the first Egress Connector only.
As depicted in below diagram, for the round-robin load balancing strategy, you can specify multiple egress connectors and those connectors do not have to be of the same type as well. When the Egress Load Balancer receives a message it will send that message to Egress Connector (a), and the next message to (b) and the next one to (c) and the next one to the Egress Connector (a) once again and so on.
Suppose that sending message via Egress Connector (b) fails. In that case for that particular message the message flow will be marked as failed and the next message received by the Egress Load Balancer will be sent to the Egress Connector (c)
This strategy is similar to Round-Robbin one. Further, this includes a fail-over mechanism as well. i.e. when the Egress Load Balancer receives a message it will first send it to Egress Connector (a), and the next message to (b) and so on, but on a failure, it will try to send the message to the next Egress Connector.
Assume a particular message fails when send via Egress Connector (b), then the Egress Load Balancer will not mark that message as a failed one, rather try to send that message to the next Egress Connector (c) in the list. If that end point fails, then that particular message will be sent to the next Egress Connector until sending the message is successful or the Egress Load Balancer reaches the initially failed Egress Connector while looping through the Egress Connector list.
If the Egress Load Balancer reach the initially failed Egress Connector, then only, the message will be marked as a failed one.
In the Fail-over strategy, message received to the Egress Load Balancer is always sent to the first Egress Connector (a). The Message is sent to the next configured Egress Connector (b) only if the first one fails. Similarly message is sent to the the 3rd Egress Connector (c) if the 2nd one fails as well.
This strategy will mark the message as a failed one after trying all the configured Egress Connectors at most once and non of the were successful.
Weighted strategy uses the weight specified in Egress Connectors to select the Egress Connector where the message should be handed over. As shown in below image three Egress Connectors have 10, 30, 50 specified as their weights respectively, and the corresponding percentage of the weight for each Connector would be 11.11%, 33.33%, 55.55% respectively.
This means that the probability of selecting the Egress Connector (a) is 11.11%, and for Connector (b) it is 33.33% and Connector (c) has the highest probability of being selected, which is 55.55%.
The load balancing mechanism for this strategy is as same as the Weighted one. But when a particular Egress Connector fails, another one will be picked according to the weighted probability and the message will be sent to that Egress Connector. This fail-over mechanism will be tried until the pre-specified Re-try Attempts count is reached.
This strategy is similar to the Weighted one, except that the target Egress Connector is selected on a random basis. Hence theoretically, all the Egress Connectors have the same probability of being selected.
Random with Fail-over used the load balancing mechanism in the Random one. When a message sent to an Egress Connector fails, another Egress Connector will be selected on a random basis. The maximum re-try count will be the pre-specified Re-try Attempts and after that the message will be marked as a failed one.
In order to use this processing element, you must first select the Flow Control dependency from the processor list when you are creating an empty Ultra project. If you have already created a project, you can add this dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Processors list, select the Flow Control dependency.