<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jun 5, 2009, at 9:11 AM, Jason J. W. Williams wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi Hugh,<div><br></div><div>Queue data is not replicated to other members of the cluster (whether it's a persistent or non-persistent queue), so if a cluster member dies, all queue data goes poof if it's non-persistent. However, if it is persistent, while queue data doesn't go poof (still in the log) when you restart the node the queue data won't auto replay into the cluster. &nbsp;You'll have to do that manually.</div></blockquote><div><br></div><div>Are you saying that if an instance of RabbitMQ does down and is brought back up, its persistent messages won't be delivered when a consumer re-attaches? &nbsp;(I'm not sure what you mean by "manually".)</div><div><br></div><div>If that's the case, that seems quite broken and not fault-tolerant at all.</div><div><br></div><div>Surely, I'm misunderstanding.....</div><div><br></div><div>I so need to get out from under my workload and write some tests.</div><div><br></div><div>Keith</div><br><blockquote type="cite"> <div><br></div><div>-J</div><div><br><div class="gmail_quote">On Fri, Jun 5, 2009 at 8:07 AM, Hugh Watkins <span dir="ltr">&lt;<a href="mailto:hwwatkins@gmail.com">hwwatkins@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <br><div>I was trying to understand how the clustering support works in RabbitMQ</div><div><br></div><div>1) From the&nbsp;documentation&nbsp;the message queue data is not clustered, so if you have queue created on one machine and the queue is not persisted then that box going down will cause the queued messages to be&nbsp;destroyed. Is this a correct interpretation?</div> <div><br></div><div>I have a system that is creating perishable queue messages, i.e. they need to be acted on in 100-200 ms or it's to late a timeout will occur further up the chain. &nbsp;I would like to setup a cluster an protect as many messages as possible. &nbsp;It would not be worth creating a&nbsp;persistent&nbsp;queue &nbsp;because it would slow down the processing and as I mentioned these are perishable messages.</div> <div><br></div><div>It seems like I should create different queues on each machine in the cluster and try to load balance across those queues, either by having the producers write too the local queue, round robin or some other mechanism. &nbsp;The workers in turn would listen on all queues. &nbsp;Does this sound reasonable? &nbsp;It requires more configuration than I was hoping for because at least the workers have to be aware on another queue being created if another node is added.</div> <div><br></div><div>Thanks,</div><div>Hugh</div> <br>_______________________________________________<br> rabbitmq-discuss mailing list<br> <a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br> <a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br> <br></blockquote></div><br></div> _______________________________________________<br>rabbitmq-discuss mailing list<br><a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss<br></blockquote></div><br></body></html>