rabbitmq是否支持通过ttl和dead letter对不同的ttl消息进行延迟队列?

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

为什么我收到的消息在 20 分钟 ttl 消息之前设置了 10 分钟 ttl,而该消息比 10 分钟 ttl 消息早发送?

我希望先收到20分钟的消息,然后再收到10分钟的消息。

以下内容是什么意思?

rabbitmq dead-letter
1个回答
0
投票

为什么我收到的消息在 20 分钟 ttl 消息之前设置了 10 分钟 ttl,而该消息比 10 分钟 ttl 消息早发送?

因为 10 分钟 ttl 的消息先于 20 分钟 ttl 的消息死亡。所以“10min ttl”消息是第一个到达 dlx,然后到达 dlq 的消息。 “20min ttl”消息将持续 10 分钟以上,并最终出现在 dlq 中。

以下内容是什么意思?

请更仔细地阅读屏幕截图中文档的第一段。它是将每条消息的 TTL 设置为已经有消息的队列。这意味着该队列中的某些消息可能已经死亡。例如,队列中间的消息。这就是“过期消息可以排队在未过期消息后面”的意思。

那么现在的问题是,兔子什么时候才能明白这条消息已经死了?再次让我们回到第一段:“只有当过期的消息到达队列的头部时,它们才会真正被丢弃(或死信)。”

再次重复一遍 - 这只是关于“追溯应用每条消息 TTL 的队列(当它们已经有消息时)”

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