RabbitMQ–基础–10.1–消息的TTL
1、消息的TTL(过期时间)
- 消息在队列中的生存时间一旦超过设置的TTL值时,就会变成死信,消费者将无法再收到该消息
- 如果不设置 TTL ,则表示此消息不会过期
- 如果TTL设置为 0,则表示除非此时可以直接将消息投递到消费者,否则该消息会被立即丢弃
2、设置 消息的TTL
- 通过队列属性x-message-ttl(单位毫秒)设置,队列中所有消息都有相同的过期时间
- 对消息本身进行单独设置,每条消息的TTL可以不同
- 若两种方式一起使用,则消息的TTL以两者之间较小的那个数值为准
2.1、对消息本身设置ttl
2.2、对队列设置ttl
通过队列属性x-expires可以控制队列被自动删除前处于未使用状态的时间,未使用状态的时间 有如下含义
- 队列上没有任何的消费者
- 队列也没有被重新声明