We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

You're on assignment part 2/2 for this lesson.

AMQP Protocol

A communication protocol is just some rules that define how messages are sent, received, and understood. You can think of the English language as a protocol: if we agree that the word "cat" refers to the little four-legged demons that have domesticated us, then we can communicate effectively about them.

AMQP is the protocol that RabbitMQ implements.

The Advanced Message Queuing Protocol (AMQP) is an open standard for passing business messages between applications or organizations.

-- AMQP.org

While Kafka, SQS, Google Pub/Sub, and NATS use their own protocols (not AMQP), AMQP is still an open standard, and other message brokers like ActiveMQ, Qpid, Solace and Azure Service Bus also implement it.

Why Use AMQP?

The biggest advantage of an open protocol like AMQP is interoperability. If you're using RabbitMQ for your project and want to switch to ActiveMQ, you can do so without changing your code (or at least not very much of it).

HTTP is another open standard: it doesn't matter if you use Go or JavaScript to write your web server, they both speak HTTP and can serve the same incoming requests.