RabbitMQ 提供了消息 TTL(过期)、队列长度限制、优先级和延迟消息等功能,这些功能控制消息的生命周期和行为。理解这些功能有助于构建复杂的消息传递行为。
消息和队列 TTL
text
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)
队列长度限制
text
MAX LENGTH → limit a queue's size (number of messages or bytes):
→ when full → drop the OLDEST messages (or reject new ones, or dead-letter overflow)
→ for: preventing unbounded queue growth; bounded buffers
