铲斗被删除后会发生什么

时间:2018-05-14 01:27:44

标签: rabbitmq

我们有一个队列,它接收传入的数据并通过铲子将数据推送到另一台机器的另一个队列中。

出于某种原因,我们发现源队列已备份了大约2M条消息。我们无法弄清楚原因,因为目标队列和该队列的消费者似乎工作正常。

我们还意识到铲子的设置默认预取计数为1000.

我们无法修改铲子以设置更高的预取计数,唯一的选择是删除铲子并设置一个具有更高预取计数的新铲子。

如果我们删除铲子会怎么样? 它会删除队列中的消息吗?

由于

1 个答案:

答案 0 :(得分:0)

根据您的最新评论,如果我理解正确,您有:

RabbitMQ1 - exchange RMQ1EXCA -> queueA1

RabbitMQ2 - exchange RMQ2EXCB -> queueB1

A shovel has been configured, exchange [RMQ1EXCA] to exchange [RMQ2EXCB]

你发现queueA1充满了数以百万计的消息。

如果这确实是您的设置的准确描述:

  • 这很正常,因为queueA1不是铲子过程的一部分
  • 如果您检查绑定到RMQ1EXCA的队列,您应该看到一个名称以amq.gen-......开头的队列
  • 删除铲子不会影响queueA1,因为它与进程无关(但会删除队列amq.gen-......

如果提供的说明与您的设置不符,请提供其他信息以澄清您的情况,以便我可以相应地调整我的答案