RabbitMQ and AMQP - Dictionary A-Z

RabbitMQ and the AMQP protocol comes with its own terminology. This dictionary aims to clarify meanings and definitions of words associated with RabbitMQ and the AMQP protocol. Hopefully this dictionary may be useful!

Acknowledgements (Consumer Acknowledgements, Ack, Delivery Acknowledgements)

An “ack” will acknowledge one or more messages, which tells the broker that messages has been received or handled. Read more


AMQP 0-9-1 (Advanced Message Queuing Protocol) is the "core" protocol supported by the RabbitMQ broker. Read more


A binding is a "link" that you set up to bind a queue to an exchange. Read more


A channel is a virtual connection inside a connection. So, for example, when you are publishing or consuming messages from a queue - it's all done over a channel. Read more

Confirms (Publisher Confirms, Publisher Acknowledgements)

Confirms indicate that RabbitMQ has received messages. Read more


A connection is a TCP connection between your application and the RabbitMQ broker. Read more


A Consumer is an application that receives messages from the broker. Watch explanation consumer

Delivery tag

The Delivery tag uniquely identifies the delivery on a channel. If the delivery tag is set to 1, multiple messages can be acknowledged with a single method. If set to zero, the delivery tag refers to a single message.

Direct exchange

Routes messages to the queues whose binding key exactly matches the routing key of the message. Read more


An exchange is responsible for routing the messages to the different queues with the help of header attributes, bindings, and routing keys. For example, in RabbitMQ, four different types of exchanges route the message differently using different parameters and binding setups. Read more

Fanout exchange

Routes messages to all of the queues bound to it. Read more

Headers exchanges

Routes messages based on the message header attributes. Read more

Lazy Queues

Queues that move their contents to disk as early as possible and only load them in RAM when consumers request them. Read more

Message queue

message queue

A message queue is a queue of messages sent between applications. It allow applications to communicate by sending messages to each other.


A message is the data transported between the publisher and the consumer; essentially, a message is a byte array with some headers on top.

Mirrored queues

Mirrored Queues are queues that can (optionally) mirror across multiple nodes. (Note: Now, mirrored queues are often replaced with quorum queues.) Read more

Negative Acknowledgment, Nack

Nack is a negative acknowledge, that tells RabbitMQ that the message was not handled as expected. A nack:ed message is by default sent back into the queue. Read more

Pause minority

Pause minority is a network partition handling strategy in a three-node cluster that protects data from inconsistency due to netsplits. Read more

Producer, publisher

A Producer is the application that is sending the messages to the message queue. Watch explanation


RabbitMQ supports plugins. Plugins extend core broker functionality in a variety of ways. Read more

Protocol, Multi-protocol

The protocol defines the communication between the client and the server and has no impact on a message itself. One protocol can be used when publishing and you can consume using another protocol.

RabbitMQ allows clients to connect over a range of different open and standardized protocols such as AMQP, HTTP, STOMP, MQTT and WebSockets/Web-Stomp. Read more


A queue is the buffer that stores messages in the message broker. Watch explanation

Queue federation

A way of moving messages from one queue to another. The source and target queues can be on different clusters. Read more

Quorum queue

A queue type for RabbitMQ implementing a durable, replicated FIFO queue based on the Raft consensus algorithm (New in RabbitMQ 3.8) Read more


RabbitMQ is a message queueing software called a message broker or queue manager. It is a software where queues can be defined, applications may connect to the queue and transfer a message onto it. Read more

Routing key

The routing key is a message attribute. The exchange might look at this key when deciding how to route the message to queues (depending on exchange type). The routing key is like an address for the message. Watch explanation


It is possible to connect to RabbitMQ with a given username and password. Every user can be assigned permissions such as rights to read, write and configure privileges within the instance. Users can also be assigned permissions to specific virtual hosts. Read more

Vhost, virtual host

A Virtual host provide a way to segregate applications using the same RabbitMQ instance. Different users can have different access privileges to different vhost and queues and exchanges can be created so they only exists in one vhost. Read more

Missing a word?

Help us improve by suggesting even more words to clarify. Comment on this blog post or send an email to contact@cloudamqp.com

Learn more about RabbitMQ

If you would like a deeper insight into RabbitMQ, and learn how you can benefit by using RabbitMQ, I recommend our beginner guide: Part 1: RabbitMQ for beginners - What is RabbitMQ?

CloudAMQP - industry leading RabbitMQ as a service

Start your managed cluster today. CloudAMQP is 100% free to try.

13,000+ users including these smart companies