Introduction to RabbitMQ
What is RabbitMQ?
RabbitMQ is also one of the easiest way of transmitting data between different programming languages (Example C# front-end can interact with Java application.)
The RabbitMQ is internally built on Erlang which is used for internal memory management of RabbitMQ.
What is AMQP?
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented application.
Some Defined Features of AMQP:
- Message orientation
- Routing (including point-to-point and publish-and-subscribe)
- Reliability and security
Why and when to Use RabbitMQ?
Presently most of the applications are using features like sending text SMS or sending email or reports. sometime these are very heavy load process on application so if we can separate these task independently then we will get more space on server for more request processing.
By Implementing RabbitMQ we can segregate above mentioned task independently. As we know RabbitMQ is one of the Open Source and cross platform messaging broker and it is very easy to integrate with following programming languages.
Whenever message producer generate a message for consumer that will never sent directly to the queue. Instead of it will send first to Respective RabbitMQ exchange then routing agent will read header attributes and send this data to appropriate RabbitMQ queue.
Types of Exchange in RabbitMQ:
Generally in RabbitMQ we have 3 types of Exchange which are used to route message in different ways:
Different types of RabbitMQ exchange: