Sobes.tech
Middle

What are message brokers?

sobes.tech AI

Answer from AI

Message brokers are middleware for asynchronous data exchange between different applications or microservices. They receive messages from senders (publishers/producers), store them, and deliver them to recipients (subscribers/consumers). This allows systems to be loosely coupled, increasing their fault tolerance, scalability, and flexibility.

Main components:

  • Producer: An application that sends messages to the broker.
  • Consumer: An application that receives messages from the broker.
  • Broker: A server that accepts, stores, and routes messages.
  • Queue: A model where each message is processed by only one consumer.
  • Topic: A model where each message can be delivered to multiple consumers (publish-subscribe).

Key advantages:

  • Asynchrony: The sender does not wait for a response from the receiver, continuing its work.
  • Loose coupling: Changes in one application minimally affect others.
  • Scalability: Easily increase the number of senders or receivers.
  • Reliability: Messages are stored by the broker until successful delivery.
  • Routing and filtering: The broker can direct messages to specific recipients based on rules.

Popular implementations:

  • Apache Kafka
  • RabbitMQ
  • ActiveMQ
  • NATS
What are message brokers? — Java - sobes.tech