Introduction of RabbitMQ

What is RabbitMQ ?

RabbitMQ is an AMQP messaging broker and it is the most popular open source and cross-platform message broker.

RabbitMQ is  a way to exchange data between different/same platform applications such as a message sent from one SpringBoot Application to to other SpringBoot application  or Dot Net application can be read by a SpringBoot Application.

The RabbitMQ is built on Erlang general-purpose programming language and it is also used by WhatsApp for messaging.

What is AMQP?
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented and the features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security.

AMQP was designed with the following main characteristics as goals:

  • Security
  • Reliability
  • Interoperability
  • Standard
  • Open
RabbitMQ is lightweight and easy to deploy on available premises and it supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.

Following is the pictorial representation of how RabbitMQ will act as a mediator between sender and consumer in our applications.


Why and when to Use RabbitMQ?

Now a days most people will perform a multiple tasks in single application like sending emails or SMS, reports and it will create a heavy load on application so if you separate these tasks, then we will get more space (memory) to serve more requests.

By using RabbitMQ, we can remove some heavy work from our web applications such as sending a reports in Excel or Pdf format’s or sending an email, SMS or another task such as trigger some other applications to start processing.

RabbitMQ is an open source and cross-platform message broker so it’s easy to use with many languages such as .Net, Java, Python, Ruby, Node.Js.

RabbitMQ Supported Client Libraries 

RabbitMQ will support multiple operating systems and programming languages. RabbitMQ has provided a various client libraries for following programming languages.

  • Java Client
  • Dot NET Client
  • Ruby Client
  • JMS Client
  • Erlang Client
  • RabbitMQ extensions to AMQP 0-9-1



Comments

Popular posts from this blog

Sealed Classes and Interfaces in Java

RabbitMQ Installation on Windows