RabbitMQ


Why RabbitMQ?

RabbitMQ is a reliable and mature messaging and streaming broker, which is easy to deploy on cloud environments, on-premises, and on your local machine. It is currently used by millions worldwide.

What about the license?

Since its original release in 2007, RabbitMQ is Free and Open Source Software. In addition, Broadcom offer a range of commercial offerings.

What is the message queue?

Message queuing allows application to communicate by sending to each other. The message queue provides temporary message storage when the destination program is busy or not connected. A message queue is made up of a producer, a broker and a consumer. A message queue provides an asynchronous communication between applications.

RabbitMQ:

RabbitMQ is a message queue software(message broker/queue manager) that acts as in intermediary platform where different application can send and receive message. RabbitMQ originally implements the advance message queuing protocol(AMQP) but now RabbitMQ also supports several other API protocols such as STOMP, MQTT and HTTP.

Producer is an application that send messages to the RabbitMQ broker and consumer is an application that reads messages from the RabbitMQ broker.

Producer:

Producer is an application that sends message. It does not send messages directly to the consumer. It send messages only to the RabbitMQ broker.

Consumer:

Consumer is an application that reads message from the RabbitMQ broker.

Message:

Information that is sent from the producer to a consumer through RabbitMQ.

 

Exchange:

Basically, it acts as in intermediary between the producer and a queue. Instead of sending message directly to a queue a producer can send them to an exchange instead. The exchange then sends there message to one or more queue following a specified set of rules. Thus, the producer does not need to know the queue that eventually receive those messages.

Routing key:

The routing key is a key that the exchange looks at to decide how to route the message to queues. The routing key is like an address for the message.

Binding:

A binding is a link between a queue and an exchange.

 

RabbitMQ Architecture:

 

That’s All.