RabbitMQ : highly reliable, scalable and portable messaging system

RabbitMQ : highly reliable, scalable and portable messaging system

RabbitMQ

Image via Wikipedia

RabbitMQ provides robust messaging for applications. It is easy to use, fit for purpose at cloud scale and supported on all major operating systems and developer platforms. RabbitMQ is open sourced under the Mozilla Public License.

To understand RabbitMQ better first we need to know following:

What Is Messaging?

Messaging is a method of communication between software components or applications. A messaging system is a peer-to-peer facility: A messaging client can send messages to, and receive messages from, any other client. Each client connects to a messaging agent that provides facilities for creating, sending, receiving, and reading messages.

Messaging enables distributed communication that is loosely coupled. A component sends a message to a destination, and the recipient can retrieve the message from the destination. However, the sender and the receiver do not have to be available at the same time in order to communicate. In fact, the sender does not need to know anything about the receiver; nor does the receiver need to know anything about the sender. The sender and the receiver need to know only which message format and which destination to use.

A messaging infrastructure makes it easier for developers to create complex applications by decoupling the individual program components. Rather than communicating directly, the messaging infrastructure facilitates the exchange of data between components.

What is AMQP?

AMQP is a standard wire-level protocol and semantic framework for high performance enterprise messaging.

From the AMQP website:

AMQP is an Open Standard for Messaging Middleware.

By complying to the AMQP standard, middleware products written for different platforms and in different languages can send messages to one another. AMQP addresses the problem of transporting value-bearing messages across and between organisations in a timely manner.

AMQP enables complete interoperability for messaging middleware; both the networking protocol and the semantics of broker services are defined in AMQP.

Why use RabbitMQ?

RabbitMQ enables developers of messaging solutions to take advantage of not just AMQP but also one of the most proven systems on the planet. The Open Telecom Platform (OTP) is used by multiple telecommunications companies to manage switching exchanges for voice calls, VoIP and now video. These systems are designed to never go down and to handle truly vast user loads. And because the systems cannot be taken offline, they have to be very flexible, for instance it must be possible to ‘hot deploy’ features and fixes on the fly whilst managing a consistent user SLA.

Instead of creating a new messaging infrastructure, the RabbitMQ team selected the best one for the need, and built an AMQP layer on top. This combines the robustness and scalability of a proven platform with the flexibility of AMQP’s messaging model.

Enhanced by Zemanta

Be Sociable, Share!

Leave a Reply

You must be logged in to post a comment.