What is a Message Broker?

How applications communicate is becoming an increasingly large challenge. Using Messaging Middleware simplifies this challenge and allows for common communications infrastructure that grows and scales to meet the most demanding conditions. But communication can happen in many different forms and how Messaging Middleware provides communication is no different.

Message Broker Diagram

One method of communication used by Messaging Middleware is a server based model that uses a Message Broker. With a Message Broker, the source application (producer) sends a message to a server process that can provide data marshaling, routing, message translation, persistence and delivery to all the appropriate destinations (consumers). The defining characteristic of a Message Broker is that the broker itself is a discrete service. Producers and consumers communicate with the broker using standard or proprietary protocols. The Message Broker typically provides all the state management and tracking of clients so that individual applications do not need to take on this responsibility and the complexity of message delivery is built into the Message Broker itself.

There are two basic forms of communications with a Message Broker:

  • Publish and Subscribe (Topics)
  • Point-to-Point (Queues)

Publish and Subscribe Messaging

In a publish and subscribe message system, producers send messages on a topic. In this model, the producer is known as a publisher and the consumer is known as a subscriber. One or many publishers can publish on the same topic, and a message from on or many publishers can be received by many subscribers. Subscribers subscribe to topics, and all messages published to the topic are received by all subscribers on the topic. This model provides for simple interest driven delivery based on what topics applications subscribe to.

Point-to-point communication

Point-to-point communications in its simplest form has one producer and on consumer. This style of messaging typically uses a queue to store messages sent by the producer until they are received by the consumer. The message producer sends the message to the queue; the message consumer retrieves messages from the queue and sends acknowledgment that the message was received. More than one producer can send messages to the same queue, and more than one consumer can retrieve messages from the same queue. When multiple consumers are used each consumer typically receives a portion of the message stream to allow for concurrent processing.

Server based Message Brokers

Server based Message Brokers have many advantages around centralized processing, centralized message distribution and centralized data persistence. Within TIBCO’s Messaging portfolio there are different options for Message Brokers, each designed to address a different use cases:

In some cases a de-centralized communications model is needed. This “Brokerless” or peer-to-peer approach typically provides a mechanism to support direct communication between applications for use cases where very low latency is required. For more information on “Brokerless” Peer-to-Peer Messaging please check back soon.