RabbitMQ:什么是默认的x-message-ttl值

Mar*_*hen 15 amqp rabbitmq

我在RabbitMQ文档中找不到安装附带的默认x-message-ttl值.

我知道如何将其设置为所需的值,但我很想知道默认值.

pin*_*ain 28

x-message-ttl默认情况下,代理端没有设置参数,因此基本上您可以将默认值解释为无穷大.

如果在没有ttl set的情况下将没有ttl的消息发布到队列(yupp,则有per-message和per-queue ttl参数,请参阅下面的注释):

  • 如果作为持久性消息发布的消息和声明为持久性消息的队列将保留在队列中,只要它不会被消耗;

  • 如果消息未作为持久性发布或者队列未被声明为持久性,则只要消息不被消耗或者代理重新启动,消息将保留在队列中.

TTL备注:

当每个消息和每个队列ttl设置代理使用最小值时.例如,如果每个消息ttl是10000(10秒)并且每个队列ttl是20000(20秒),则将应用每个消息ttl.

每条消息TTL备注:

具有过期ttl的消息将保留在队列中,只要它们没有到达队列头.别担心,它们不会发送给消费者,但他们会占用一些资源,直到他们达到目标.这就是RabbitMQ队列的工作方式(它们坚持FIFO理念,有时可能会破坏与AMQP协议的严格兼容性).有关详细信息,请参阅生存时间扩展中的注意事项部分.

  • 消息留在队列中,直到它们"到达队列头",但直到它们被传递给消费者并被确认或拒绝(没有重新排队).使用自动确认模式,这意味着"一旦它们被发送出去".AMQP 0-9-1队列是FIFO但是重新排队时不清楚它应该如何工作.RabbitMQ尝试保留消息的原始顺序. (3认同)