Skip to main content

Message Broker

When we are building systems with multiple components, we need a way to communicate between components. One failed attempt will be direct communication between components. In this solution, components are higly depending on each other.



A better solution will be to use a centralized middleman. All necessary components register with middleman. Middleman recieve all the requests where it find corresponding service to send it.


A broker can:

  • Register, unregister services.
  • Locate services.
  • Recieve and send messages.
  • Error handling.

Products

There are many broker systems available. These are just few of them.
Apache ActiveMQ, Apache Kafka, RabbitMQ, Websphere ESB, JBoss ESB, Amazon MQ

Advantages

  • Loose coupling between components.
  • Scalable and maintainable as long as the interface remain the same.
  • Components are reusable.

Disadvantages

  • Introduce single point of failure.
  • Degrade performance due to additional routing.