An Introduction to Message Brokers
What is a Message Broker?
Message Broker (is also known Interface Engine or Integration Broker) a “program module that translates a message from the formal messaging protocol to formal messaging protocol of the receiver”.
Software Applications communicate by exchanging formally defined message.
Purpose, Functionality & Architecture :
A Message Broker is an architectural pattern for message validation, transformation and routing.
It mediates communication among applications ,minimizing the mutual awareness that applications should have of each other in order/able to exchange messages.
Primary purpose of message broker is to take incoming messages from applications and perform some action on them.
For Example : a message broker may be used to manage a workload queue or message queue for multiple receivers, providing reliable storage guaranteed message delivery.
Two Fundamental Architectures:
- Hub and spoke
- Message Bus
In First , a central server acts as the mechanism that provides Integration services, whereas the second one is the communication backbone or distributed service that act on the bus.
So when do I need a Message Broker?
Well a Message Broker is really good in one thing — processing messages.
This means that when you lot of messages (think thousands,millions,billions of messages) that it could be worth looking into a message broker to a centralized store/processor for these messages, so that applications or users can work with theses messages -single source of truth.
Which Message Brokers are out there to process my events?
Lot of Message brokers out there.
- Apache Kafka
- Apache Qpid
- Apache ActiveMQ
- RabbitMQ
- GearMan
- HornetQ
- IBM MQ
- Microsoft Azure Bus Service …