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
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.
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
Routes messages to all of the queues bound to it. Read more
Routes messages based on the message header attributes. Read more
Queues that move their contents to disk as early as possible and only load them in RAM when consumers request them. Read more
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 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 is a network partition handling strategy in a three-node cluster that protects data from inconsistency due to netsplits. Read more
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
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
A way of moving messages from one queue to another. The source and target queues can be on different clusters. Read more
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
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 moreMissing a word?
Help us improve by suggesting even more words to clarify. Comment on this blog post or send an email to firstname.lastname@example.org
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?