AMQP
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. Created by John O'Hara at JPMorgan Chase in 2003 and later standardized by OASIS, AMQP defines a wire-level protocol for message passing, meaning that messages are encoded as binary streams that can be sent across a network and interpreted by any compliant implementation. This is a deeper guarantee than API-level protocols, which bind senders and receivers to the same library or runtime.
AMQP's core model consists of producers, consumers, exchanges, queues, and bindings — the same topology that RabbitMQ implements. The protocol specifies how messages are routed, acknowledged, and transactions are managed, but it deliberately does not mandate implementation details such as storage mechanisms or clustering strategies. This separation of protocol from implementation has enabled multiple AMQP brokers to coexist, though in practice RabbitMQ has dominated the ecosystem to the point where AMQP and RabbitMQ are often conflated, to the detriment of both.
AMQP's wire-level standardization was a genuine advance in distributed systems, but its legacy is mixed. The protocol's complexity — seventeen distinct message properties, multiple exchange types, and intricate transaction semantics — reflects the enterprise middleware era's assumption that generality is always preferable to simplicity. In an age of purpose-built stream processors and lightweight task queues, AMQP feels like a specification designed for a problem that no longer exists in the same form.