我想知道是否可以将消息从一个队列移动/合并到另一个队列。 例如:
main-queue
包含消息['cat-1','cat-2','cat-3','cat-4','dog-1','dog-2','cat-5']
dog-queue
包含消息['dog-1, dog-2, dog-3, dog-4]
所以问题是,(假设两个队列都在同一个集群上,vhost)可以使用rabbitmqctl
将消息从dog-queue
移动到main-queue
?
所以最后我想得到的是:
main-queue
:['cat-1','cat-2','cat-3','cat-4','dog-1','dog-2','cat-5', dog-3, dog-4]
main-queue
:['cat-1','cat-2','cat-3','cat-4','dog-1','dog-2','cat-5', 'dog-1, dog-2, dog-3, dog-4]
你要找的是“铲子”插件。sweet插件内置在内核中,但必须显式启用它。它非常容易使用,因为它为您做了所有事情(不需要手动使用/重新发布到另一个队列)。
通过cli启用sweet插件:
如果您通过GUI管理RabbitMQ,也可以安装sweet管理插件:
登录到GUI,您将看到管理部分下的铲子管理。您可以创建铲子将消息从任何队列移动到另一个队列,甚至远程托管的队列。你可以在电铲完成后删除它,或者把它放在那里,它会不断地移动信息。
如果通过CLI管理RabbitMQ,则可以直接从rabbitmqctl执行sweet:
官方插件文档:
铲子插件-https://www.rabbitmq.com/shovel.html
创建铲子-https://www.rabbitmq.com/shovel-dynamic.html
相关问题 更多 >
编程相关推荐