[rabbitmq-discuss] Behaviour of Federated Queues
Josh West
jsw at one.com
Thu Jan 23 16:16:59 GMT 2014
Hey folks,
I have a question regarding the behaviour of federated queues...
For this question, assume I have 3 RabbitMQ brokers federated with each
other in a complete graph fashion (they all talk to each other).
Broker1 has a federated queue policy to federate queue's having pattern
^broker1.* with upstreams. Broker2 does the same, but with pattern
^broker2.* and Broker3 has pattern ^broker3.* ... this way any client
can send messages to any client on another broker just by placing a
message into a queue beginning with the destination broker's name :-)
I have noticed that if I create a queue on broker1 with name
"broker1.foo.bar" (for example), the queue is automatically created on
broker2 and broker3. Should this occur? Or should federation only
create the queue on upstream brokers when needed (ad-hoc)?
I ask for two reasons:
1. This could be a waste of resources if one has lots of queues matching
federation patterns or if one has say 200+ brokers federated with each
other.
2. When queues are created with the Auto Delete parameter, that
parameter is of course properly propagated. But say a client puts a
message into the queue "broker1.foo.bar" on broker2 and say a client
retrieves the message from that same queue on broker1. The Auto Delete
parameter behaviour would be triggered and the queue is then deleted
from broker1 and broker2 (upon client disconnection). But... Since
nobody has ever put any messages into the queue "broker1.foo.bar"
residing on broker3, the queue will remain defined possibly indefinitely.
Hope somebody can clarify this for me!
Thanks.
--
Josh West
One.com - http://www.one.com
More information about the rabbitmq-discuss
mailing list