Queues in RabbitMQ hold messages until consumers process them — acting as buffers between producers and consumers. Understanding queue properties (durability, acknowledgments, etc.) is important for reliable messaging.
What queues do
A QUEUE holds messages until a consumer takes them:
→ messages wait in the queue (a buffer) → decouples producer speed from consumer speed
→ consumers receive messages (push or pull), process them, and ACKNOWLEDGE
→ roughly FIFO (first-in, first-out) order
→ the buffer between producers and consumers (absorbs load, enables async)
Key queue properties
DURABLE → the queue survives a broker RESTART (the queue definition persists)
(+ PERSISTENT messages → messages also survive restart → durability)
EXCLUSIVE → used by only one connection; deleted when that connection closes
AUTO-DELETE → deleted when the last consumer disconnects
TTL → messages (or the queue) can expire after a time
MAX LENGTH → limit queue size (drop/overflow when full)
→ configure based on durability and lifecycle needs
