A message router is a basic architectural pattern of a messaging system used fundamentally for connecting different message channels. A router consumes a message from one message channel and republishes it to a different channel based on specified conditions.
This chapter introduces various types of routers and how each of them can be simulated using WSO2 ESB.
How to handle a situation when the implementation of a single logical function (such as an inventory check) is spread across multiple physical systems.
How a component avoids receiving uninteresting messages.
How to avoid the dependency of a router in all possible destinations, while maintaining its efficiency.
How to route a message to a list of dynamically specified recipients.
How to process a message if it contains multiple elements, each of which may have to be processed in a different way.
How to combine the results of individual but related messages so that they can be processed as a whole.
How to maintain the overall flow when processing a message consisting of multiple elements, each of which may require different processing.
|How to maintain the overall flow when a message needs to be sent to multiple recipients, each of which may send a reply.|
How to route a message consecutively through a series of steps when the sequence of the steps is not known at design time and may vary for each message.
How to route a message through multiple processing steps, when the required steps may not be known at design time and may not be sequential.
How to decouple the destination of a message from the sender and maintain central control over the flow of messages.
How to put a stream of related but out-of-sequence messages back into the correct order.
Currently, you can use this resequencing pattern only through the Management Console of WSO2 Enterprise Service Bus 4.9.0. In future, this will be implemented with Tooling support in latter WSO2 ESB versions.