RabbitMQ--基础--10.1--消息的TTL

RabbitMQ–基础–10.1–消息的TTL


1、消息的TTL(过期时间)

  1. 消息在队列中的生存时间一旦超过设置的TTL值时,就会变成死信,消费者将无法再收到该消息
  2. 如果不设置 TTL ,则表示此消息不会过期
  3. 如果TTL设置为 0,则表示除非此时可以直接将消息投递到消费者,否则该消息会被立即丢弃

2、设置 消息的TTL

  1. 通过队列属性x-message-ttl(单位毫秒)设置,队列中所有消息都有相同的过期时间
  2. 对消息本身进行单独设置,每条消息的TTL可以不同
  3. 若两种方式一起使用,则消息的TTL以两者之间较小的那个数值为准

2.1、对消息本身设置ttl

RabbitMQ--基础--10.1--消息的TTL_第1张图片

2.2、对队列设置ttl

通过队列属性x-expires可以控制队列被自动删除前处于未使用状态的时间,未使用状态的时间 有如下含义

  1. 队列上没有任何的消费者
  2. 队列也没有被重新声明

RabbitMQ--基础--10.1--消息的TTL_第2张图片

你可能感兴趣的:(RabbitMQ,rabbitmq,分布式)