RabbitMQ offers features like message TTL (expiration), queue length limits, priorities, and delayed messages that control message lifecycle and behavior. Understanding these features helps build sophisticated messaging behaviors.
Message and queue TTL
TTL (Time To Live) → messages or queues can EXPIRE after a set time:
→ MESSAGE TTL → a message expires if not consumed within the TTL → removed (or dead-lettered)
→ QUEUE TTL → a queue is deleted after being unused for a period
→ for: expiring stale messages (don't process old/irrelevant data); cleanup
→ TTL + dead-lettering → the common DELAYED RETRY pattern (expire → dead-letter back)
