| Messages are *always* read from the master node (for a given queue).<br><br>This is very helpful. Going a step further, is it true to say that in a cluster where we mirror all queues, there&#39;s really no benefit to assigning the VIP to one node over another?<br>
<br>Matt<br><br><br><div class="gmail_quote">On Wed, Feb 22, 2012 at 1:58 AM, Simon MacMullen <span dir="ltr">&lt;<a href="mailto:simon@rabbitmq.com">simon@rabbitmq.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 21/02/12 19:04, Matt Pietrek wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In a clustered scenario (3 brokers) with mirrored queues, what is the<br>
correct way to determine which node is the &quot;master&quot; via inspection?<br>
</blockquote>
<br></div>
There isn&#39;t one. As in, there isn&#39;t really an overall master node.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On approach would be to look at the list of queues and see which node is<br>
hosting the queue (as opposed to slave_nodes). However, I&#39;m unsure if<br>
there&#39;s some scenario where queue &#39;A&#39; is hosted by one broker, while<br>
queue &#39;B&#39; is hosted by another.<br>
</blockquote>
<br></div>
Absolutely. The original master node *for a given queue* is the one that the client that first declared the queue was connected to. But then they can fail over to other nodes pretty arbitrarily.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Another approach is to go off of whichever node has the statistics<br>
database, but I&#39;m unsure if there&#39;s a 1:1 correlation there.<br>
</blockquote>
<br></div>
Again, this is the first node with mgmt to come up, or some other node at random in the case of failover.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Background info, in case it matters:<br>
<br>
We&#39;re using keepalived to maintain a virtual IP that all clients connect<br>
to. We&#39;d obviously like keepalived to put the VIP on whatever node is<br>
the master rather than on a slave node. Our understanding is that if the<br>
master has messages that aren&#39;t in the slave node, a client that<br>
connects via the VIP to the slave node and tries to read messages won&#39;t<br>
see them as they&#39;re only on the master.<br>
</blockquote>
<br></div>
No, that&#39;s not correct. Messages are *always* read from the master node (for a given queue).<br>
<br>
Cheers, Simon<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Simon MacMullen<br>
RabbitMQ, VMware<br>
</font></span></blockquote></div><br>