Message brokers deal with the translation, validation, and routing of messages in a messaging system. Like message queues, they are parts of MOM.
Using message brokers, you can minimize the application's awareness regarding other parts of the system. This leads to designing loosely coupled systems, as message brokers take all the burden related to common operations on messages. It is known as a Publish-Subscribe (PubSub) design pattern.
Brokers typically manage message queues for receivers but are also able to perform additional functions, such as the following:
- Translating messages from one representation to another
- Validating the message sender, receiver, or contents
- Routing messages to one or more destinations
- Aggregating, decomposing, and recomposing messages in transit
- Retrieving data from external services
- Augmenting and enriching messages through interaction with external services
- Handling and responding to errors and other events
- Providing different routing...