【问题标题】:What happens when a shovel is deleted当铲子被删除时会发生什么
【发布时间】:2018-05-17 14:59:42
【问题描述】:

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

由于某种原因,我们发现源队列备份了大约 200 万条消息。我们无法找出原因,因为目标队列和该队列的消费者似乎工作正常。

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

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

如果我们删除铲子会发生什么? 它会删除队列中的消息吗?

谢谢

【问题讨论】:

  • 你能提供一些关于你设置的铲子的信息吗?是源交换还是队列?目的地也有同样的问题?
  • 所以我们有数据进入一个连接到交换的队列。铲子是从该交易所设置到另一个交易所,然后进入队列

标签: rabbitmq


【解决方案1】:

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

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-......

如果提供的描述与您的设置不符,请提供更多信息以澄清您的情况,以便我可以相应地调整我的答案

【讨论】:

  • 这是有道理的。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 2013-03-24
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
相关资源
最近更新 更多