在队列rabbitMQ之间移动消息

Dax*_*rax 6 messaging message amqp rabbitmq

我希望能够在Rabbit中的队列之间(手动)移动消息.

例如:

first-queue has messages ['a','b','c','d','e','f']
second-queue has messages ['x','y']
Run Code Online (Sandbox Code Playgroud)

我希望能够将消息"a"从第一个队列移动到第二个队列.这可以是手动操作.两个队列都在同一个代理上,我不想通过任何交换发送它们.反正有没有这样做?我一直在玩rabbitmqctl,但似乎无法让它工作.我对任何其他可以让我实现这一目标的工具持开放态度.最终我希望有一些消息选择器(例如,将所有带有一些头字段= X的消息从第一个队列移到第二个队列).

我仍然是rabbitmq和amqp的新手,但一直无法找到有关如何执行此操作的文档(如果可能的话).

谢谢.

roc*_*row 8

@Dax - 我刚才回答了同样的问题:是否可以在RabbitMQ队列之间移动/合并消息?

我在那里有很长的描述.为避免重复内容,我不想复制/粘贴.

听起来你正在寻找的是rabbitmq铲子插件.

它内置于核心,只需启用它:

rabbitmq-plugins enable rabbitmq_shovel
rabbitmq-plugins enable rabbitmq_shovel_management
Run Code Online (Sandbox Code Playgroud)

从GUI的Admin部分,您将找到一个简单的界面来创建铲子.

看到我的其他帖子deets!


Sig*_*ndo 6

它没有记录的事实是因为它远离消息传递模型.

将消息发送到特定队列很容易 - 例如参见教程#1 - 但读取消息的唯一方法是按照代理发送给客户端的顺序使用消息.

不能像使用SQL那样从队列中选择消息.

您可以做的是让客户端(或最终,一个插件,但这是一个高级主题)使用来自队列的消息,并根据某些规则它们重新发布到后续队列或另一个队列.