RabbitMQ is a message broker that allows clients to connect 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, 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 versions 0-8 and 0-9. AMQP is supporting various messaging applications and communication patterns efficiently.
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 in which queue to place your message. Messages in RabbitMQ are routed from the exchange to the queue depending on exchange types and keys. Reliability and Security are other essential features. RabbitMQ configures to ensure that messages are always delivered. Read more in the Reliability Guide.
The Getting started guides on CloudAMQP and our language documentation shows sample code using RabbitMQ with the AMQP protocol. For a complete guide to AMQP, see RabbitMQ's concept guide.
For more information about AMQP, check out the AMQP Working Group's overview page.