【问题标题】:Lost queues at Rabbitmq在 Rabbitmq 丢失队列
【发布时间】:2020-04-10 09:23:34
【问题描述】:

今天早上我发现我的rabbitmq实例没有几个通常存在的队列。

我注意到的是一种模式,剩余的队列是那些附加了消费者的队列。

消失的队列主要是重试和 DLQ。如何调查发生的事情?我在哪里寻找什么?

更新:

这是我的队列详情:

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    这是由于 TTL 或 Time to Live for a queue 的功能。

    如下例所示

    expires 的值对应于 28 天。因此,如果一个队列 28 天没有任何消费者,它就会被删除。

    auto-delete 属性也可能设置为 true,在这种情况下,队列将在最后一个消费者断开连接时自动被删除。

    您应该能够在检查队列属性的 rabbitmq 控制台中获取这两个参数。

    【讨论】:

    • 嗨@Soumen Mukherjee 你认为队列中设置的某些属性会导致它丢失吗?我看到 TTL,但消息 TTL。还有 expires 属性,是在 MS 中吗?这是否意味着队列将在 3 天后到期?
    【解决方案2】:

    expires 是你的问题,如果队列有一段时间没有被使用,它将被丢弃。

    除非您希望在一定时间后删除您的消息,否则我会删除 message-ttl

    更多信息在这里:http://www.rabbitmq.com/ttl.html

    这些是你必须更改的rabbitmq配置设置,这里有更多信息https://www.rabbitmq.com/parameters.html

    【讨论】: