[rabbitmq-discuss] Cluster, shovel, how to accomplish this scenario?
simone.busoli at gmail.com
Sun May 8 23:29:24 BST 2011
Hello, I managed to set up a shovel correctly. I have some doubts about the
usage scenarios of this feature. Ideally I would like the shovel to be
transparent to my application, but I realized that since you have to create
a queue on one side and an exchange on the other side then these two make
the applications built to use Rabbit somewhat aware of the shovel.
With that I refer to the input queue of the shovel needding to be bound to
an exchange, therefore the exchange has to exist and someone has to publish
messages to it. The same holds true on the other side of the shovel, where
clients need to bind to the shovel exchange.
All this makes sense and works great, but makes my application aware of the
exchanges used by the shovel.
Here's a scenario. My application has some publishers publishing to a topic
exchange named X and some subscribers with their queues bound to that
exchange. Setting up a shovel to have the same subscriber clients running on
both sides of the shovel with no client code changes and no configuration
changes except for the node url requires that the shovel needs to bind its
input queue to exchange X and that an equal exchange X is created to the
other end of the shovel so that clients on either side bind their queues
their node's X exchange.
This makes the shovel mechanism somewhat aware of my application internals
(the exchanges it uses) and requires that the same exchanges exist as soon
as the nodes are started, thus moving (or worse, duplicating) their
definition in the shovel configuration file. In addition it limits the
flexibility as a new exchange creation which needs to be "mirrored" on the
other node requires a change in the configuration of the shovel addin.
As said this works fine, but ideally I would like this mechanism to be
transparent to the application. I read about the federation addin, which
from a brief read seems to do exactly this. Any ideas or suggestions?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss