RabbitMQ is a message broker that allows clients to connect over a range of different open and standardized protocols such as AMQP, HTTP, STOMP, MQTT, MQTT over websockets and WebSockets/Web-Stomp.

RabbitMQ was originally developed to support AMQP which is the "core" protocol supported by the RabbitMQ broker. AMQP assigned port number is 5672 or 5671 for AMQPS (TLS/SSL encrypted AMQP).

AMQP stands for Advanced Message Queuing Protocol and it is an open standard application layer protocol. RabbitMQ implements version 0-9-1 of the specification today, with legacy support for version 0-8 and 0-9. AMQP was designed to efficiently support a wide variety of messaging applications and communication patterns.

As with other message queuing protocols, the defining features of AMQP are message orientation and queuing. Routing is another feature, the process by which an exchange decides which queues to place your message on. Messages in RabbitMQ are routed from the exchange to the queue depening on exchange types and keys. Reliability and Security are other important features of AMQP. RabbitMQ can be configured to ensure that messages are always delivered, read more in the Reliability Guide.

Getting started guides on CloudAMQP and our language documentation shows sample code using RabbitMQ with the AMQP protocol. For a more complete guide to AMQP see RabbitMQ's concept guide.

For more information about AMQP, check out the AMQP Working Group's overview page.

AMQP - Advanced Message Queuing Protocol