消息稍后到达但先过期

问题描述 投票:0回答:1

RabbitMQ 支持每条消息的 TTL,但我发现如果第一条消息的 TTL 较长,第二条消息的 TTL 较短(过期速度更快),那么第二条消息将不会发送到死信队列(DLQ),直到第一条消息过期。

是否可以根据各个消息的过期时间来使消息过期,而不管它们在队列中的位置如何?

rabbitmq
1个回答
0
投票

RabbitMQ 严格遵循 FIFO 消息排序。 它只会去处理下一条消息,直到队列中的头消息(队列中的第一条消息)过期并被丢弃或死信到其他交换器。

文档

追溯应用每条消息 TTL 的队列(当 他们已经有消息)将在特定时丢弃消息 事件发生。仅当过期消息到达队列头部时 它们实际上会被丢弃(或死信)吗?

© www.soinside.com 2019 - 2024. All rights reserved.