<div dir="ltr">I am contemplating the use of topic exchanges along with the federation plugin to route messages between geographically separated brokers.<br><br>1) Will someone confirm my understanding of the configuration is valid?<br>
<br>In this situation there would be topic exchange named &quot;B1.TE&quot; &quot;B2.TE&quot; that would be configured within brokers &quot;B1&quot; and &quot;B2&quot; respectively. B1.TE would have B2.TE configured as an upstream exchange and B2.TE would have B1.TE configured as an upstream exchange.<div>
<div><br></div><div style>Broker B1 would have queues &quot;B1.Q1&quot; and &quot;B1.Q2&quot; configured and bound to exchange B1.TE with routing keys &quot;B1.Q1&quot; and &quot;*.Q2&quot; respectively.</div></div><div style>
<br></div><div style>Broker B2 would have queues &quot;B2.Q1&quot; and &quot;B2.Q2&quot; configured and bound to exchange B2.TE with routing keys &quot;B2.Q1&quot; and &quot;*.Q2&quot; respectively.</div><div style><br></div>
<div style>2) Assuming the answer to question #1 above is &quot;yes, it is valid&quot;, would someone confirm my understanding of how the following messages would be routed?</div><div style><br></div><div style>A message sent to exchange B1.TE with routing key &quot;B2.Q1&quot; would be received, forwarded to exchange B2.TE, placed in queue B2.Q1, and then acknowledgement would be sent back to the client.</div>
<div style><br></div><div style>A message sent to exchange B1.TE with routing key &quot;B1.Q2&quot; 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.</div>
<div style><br></div><div style>A message sent to exchange B2.TE with routing key &quot;B2.Q2&quot; 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.</div>
<div style><br></div><div style>3) My understanding is that an exchange has knowledge of the routing topology of any upstream queues and therefore won&#39;t send a message upstream that wouldn&#39;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? </div>
<div style><br></div><div style>My worry is that the processing power required to deliver each message will increase exponentially as I add additional brokers in a &quot;mesh&quot; style federated topology as it seems that the routing table on each upstream exchange has to be examined for each message delivery.</div>
<div style><br></div><div style>Thank you in advance for your response and reading my long-winded email. =]</div><div style><br></div><div style>Regards,</div><div style><br></div><div style>Richard</div></div>