[rabbitmq-discuss] Federated Topic Exchanges

Richard Raseley richard at raseley.com
Tue Feb 26 23:41:22 GMT 2013


I am contemplating the use of topic exchanges along with the federation
plugin to route messages between geographically separated brokers.

1) Will someone confirm my understanding of the configuration is valid?

In this situation there would be topic exchange named "B1.TE" "B2.TE" that
would be configured within brokers "B1" and "B2" respectively. B1.TE would
have B2.TE configured as an upstream exchange and B2.TE would have B1.TE
configured as an upstream exchange.

Broker B1 would have queues "B1.Q1" and "B1.Q2" configured and bound to
exchange B1.TE with routing keys "B1.Q1" and "*.Q2" respectively.

Broker B2 would have queues "B2.Q1" and "B2.Q2" configured and bound to
exchange B2.TE with routing keys "B2.Q1" and "*.Q2" respectively.

2) Assuming the answer to question #1 above is "yes, it is valid", would
someone confirm my understanding of how the following messages would be
routed?

A message sent to exchange B1.TE with routing key "B2.Q1" would be
received, forwarded to exchange B2.TE, placed in queue B2.Q1, and then
acknowledgement would be sent back to the client.

A message sent to exchange B1.TE with routing key "B1.Q2" would be
received, a copy placed in queue B1.Q2, a copy forwarded to exchange B2.TE,
placed in queue B2.Q2, and then acknowledgement would be sent back to the
client.

A message sent to exchange B2.TE with routing key "B2.Q2" would be
received, a copy placed in queue B2.Q2, a copy forwarded to exchange B1.TE,
placed in queue B1.Q2, and then acknowledgement would be sent back to the
client.

3) My understanding is that an exchange has knowledge of the routing
topology of any upstream queues and therefore won't send a message upstream
that wouldn't end up in a queue. Firstly, is that understanding correct?
Secondly (if yes to the previous question), what type of overhead are we
talking about when using this configuration with a topic exchange?

My worry is that the processing power required to deliver each message will
increase exponentially as I add additional brokers in a "mesh" style
federated topology as it seems that the routing table on each upstream
exchange has to be examined for each message delivery.

Thank you in advance for your response and reading my long-winded email. =]

Regards,

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130226/caf4ef07/attachment.htm>


More information about the rabbitmq-discuss mailing list