[rabbitmq-discuss] How list exchanges managed by a given node ?

Vincent Barat vincent.barat at gmail.com
Fri Sep 6 14:43:11 BST 2013


By the way, we are running RabbitMQ 2.5.1, if this can make a 
difference.

Le 06/09/13 12:39, Simon MacMullen a écrit :
> On 06/09/2013 11:28AM, Vincent Barat wrote:
>>
>> Let say an exchange was created by a client connection made on 
>> node 1 at
>> a time. Then, a producer is connected on node 2 and a consumer is
>> connected also on node 2 (with the  consumer's queue also on node 2)
>> then all the network traffic will follow this path:
>>
>> producer -> node 2 -> node 1 -> node2 -> consumer
>>
>> instead of
>>
>> producer -> node 2 -> consumer
>>
>> this have a big impact on network and CPU
>
> I really don't think that's the case. Exchanges are routing logic 
> that runs in the publishing channel process. The exchange, 
> bindings and queues are looked up in Mnesia beforehand, but Mnesia 
> distributes copies to all nodes so it's just a memory lookup. Then 
> the exchange does some routing logic locally. That's it. Honest :-)
>
> [NB: the above is true for the built-in exchange types, it's not 
> impossible to write an exchange type where routing logic gets made 
> in a single process somewhere. But we haven't done that.]
>
> Cheers, Simon
>


More information about the rabbitmq-discuss mailing list