<html><body bgcolor="#FFFFFF"><div>Hey Niko,</div><div><br></div><div>Can you set your SLB to persistent mapping based on client IP. That should keep each client on the server they are intially mapped to until that server fails.&nbsp;</div><div><br></div><div>That being said, I still believe HA should be done in Rabbit. SLB is not the right hammer in my opinion.&nbsp;</div><div><br></div><div>-J<br><br>Sent via iPhone</div><div><br>On Aug 20, 2009, at 4:09, Niko Felger &lt;<a href="mailto:niko.felger@googlemail.com">niko.felger@googlemail.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div>Matthew,<br><br>Thanks a lot for all this info!<br><br>Is there a way to achieve some of this in a clustered setup? I guess our requirements are not so much HA of the whole messaging subsystem, but rather that an as-large-as-possible proportion of messages gets processed _eventually_. The scenario I am mainly worried about is when producers suddenly cannot publish anymore because the server has gone away and thus any messages are lost at that point.<br>

<br>We tried using a dumb load balancer (in front of both producers and consumers) to achieve this, but so far this has caused us more trouble than it saved, see here: <a href="http://www.nabble.com/RabbitMQ-load-balancing-failover-with-LVS-td24683230.html#a24683230"><a href="http://www.nabble.com/RabbitMQ-load-balancing-failover-with-LVS-td24683230.html#a24683230">http://www.nabble.com/RabbitMQ-load-balancing-failover-with-LVS-td24683230.html#a24683230</a></a><br>

<br>Thanks!<br>niko<br><br><div class="gmail_quote">
On Wed, Aug 19, 2009 at 15:45, Matthew Sackman <span dir="ltr">&lt;<a href="mailto:matthew@lshift.net" target="_blank"><a href="mailto:matthew@lshift.net">matthew@lshift.net</a></a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Niko,<br>
<div><br>
On Wed, Aug 19, 2009 at 03:41:59PM +0100, Matthew Sackman wrote:<br>
&gt; Therefore, if HA and failover is important to you, we'd recommend the<br>
&gt; following:<br>
<br>
</div>...<br>
<br>
One further issue with this is that it means really all the nodes need<br>
to manually be configured the same, in terms of queues, exchanges and<br>
bindings. As producers don't know which node they're connected to, this<br>
really demands that:<br>
a) Every producer can attempt configuration whenever it connects; or<br>
b) As consumers may need to be connected to every node, they could do<br>
 &nbsp; the configuration, as they're not in front of the load balancer; or<br>
c) You have some other process that does configuration.<br>
<br>
This is definitely one area where the clustered setup saves you effort<br>
as all nodes implicitly get configured in the same way.<br>
<div><div></div><div><br>
Matthew<br>
<br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank"><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a></a><br>
<a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank"><a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a></a><br>
</div></div></blockquote></div><br>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>rabbitmq-discuss mailing list</span><br><span><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a></span><br><span><a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a></span><br></div></blockquote></body></html>