the thing is I have two RabbitMQ cluster servers (prod and dev) and in the prod server I have an exchange where external applications push data, but they only can push the data in one server I need to move the data from that prod exchange to a dev exchange in another server to make some testing. I was looking for a some extension that allows some kind of exchange binding inter servers, but I think that is not possible. the only solution I can think of is a service/application that creates its own queue, makes binding to prod exchange and push the data from its queue to the dev exchange in another server without modify another application. I want to know if this is the best way or if you know another more productive way?
Asked
Active
Viewed 706 times
1 Answers
2
You can make use of the Shovel Plugin. RabbitMQ Shovel, a core RabbitMQ plugin that unidirectionally moves messages from a source to a destination.
There is no requirement to run the shovel on the same broker (or cluster) as its source or destination, although that's the most typical approach; the shovel can run on an entirely separate node or cluster.
Checkout more here .. https://www.rabbitmq.com/shovel.html
Here are some more links ..
https://www.rabbitmq.com/shovel-dynamic.html
https://www.rabbitmq.com/shovel-static.html

Lalit Mehra
- 1,183
- 1
- 13
- 33
-
It seems to work fine by making a shovel with exchanges with two differents brokers. My mistake I thouhgt shovel tool only works with queues in the same broker. Thanks a lot. – CarlosS Jul 10 '20 at 12:47
-
I think the most appropriate use case for the shovel plugin is to transfer data between different clusters hosted in different geo-locations to support system with a secondary or a backup cluster that could be used in need – Lalit Mehra Jul 10 '20 at 13:14