Multiple identical providers can service a message.
How can incoming messages be shared among the providers?
- Can use message queue with competing consumers - most efficient as consumers work at optimal load
- Message queue does not always work.
- May need to send related messages to the same participant (stickiness).
- Providers should not know about each other.
The initiator makes outbound requests to a Load Balancer, which distributes messages across the providers.
The Load Balancer conversation involves the following participants:
- The Initiator initiates the conversation by sending a message to the Load Balancer.
- The Load Balancer listens for messages and forwards them to the Providers. The Provider may be unaware of the Load Balancer.
- The Providers may share information with the Load Balancer to optimize with the distribution of messages.
Load Balancer can receive Heartbeat from Providers