rabbitmq 消息到达较晚但过期较早

7kqas0il  于 4个月前  发布在  RabbitMQ
关注(0)|答案(1)|浏览(67)

RabbitMQ支持每条消息的TTL,但是我发现如果第一条消息有长TTL,第二条消息有短TTL(过期更快),第二条消息将不会被发送到死信队列(DLQ),直到第一条消息过期。
是否可以根据单个过期时间使消息过期,而不管它们在队列中的位置?

jobtbby3

jobtbby31#

RabbitMQ严格遵循FIFO消息排序。它只会去处理下一条消息,直到队列中的头消息(队列中的第一条消息)过期,并被丢弃或死信到其他交换机。
文件
当特定事件发生时,具有追溯性地应用于它们的每消息TTL的队列(当它们已经有消息时)将丢弃消息。只有当过期的消息到达队列的头部时,它们才会被实际丢弃(或死信)。

相关问题