Message Routing¶
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 section introduces various types of routers and how they can be simulated using the WSO2 Micro Integrator.
Content-Based Router | How to handle a situation when the implementation of a single logical function (such as an inventory check) is spread across multiple physical systems. | |
Message Filter | How a component avoids receiving uninteresting messages. | |
Dynamic Router | How to avoid the dependency of a router in all possible destinations, while maintaining its efficiency. | |
Recipient List | How to route a message to a list of dynamically specified recipients. | |
Splitter | How to process a message if it contains multiple elements, each of which may have to be processed in a different way. | |
Aggregator | How to combine the results of individual but related messages so that they can be processed as a whole. | |
Composed Message Processor | How to maintain the overall flow when processing a message consisting of multiple elements, each of which may require different processing. | |
Scatter-Gather | How to maintain the overall flow when a message needs to be sent to multiple recipients, each of which may send a reply. | |
Routing Slip | 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. | |
Process Manager | 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. | |
Message Broker | How to decouple the destination of a message from the sender and maintain central control over the flow of messages. |