intermediary software module that enables applications, systems, and services to communicate with each other and exchange information. It does this by translating a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver.

Used to validate, store, route, and deliver messages.

Functionalities

  • Routing: Directing messages to the correct destination based on various criteria, such as topic or content.
  • Message Transformation: Modifying messages en route to ensure compatibility between different parts of a system.
  • Ensuring Delivery: Implementing mechanisms to guarantee message delivery, even in the face of failures.
  • Load Balancing: Distributing messages across consumers to balance the workload.
  • Support for Various Messaging Patterns: Beyond simple queues, brokers often support publish/subscribe, request/reply, and other messaging models.