<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ben,<br>
<br>
We have a system which includes a homogeneous set of message producers
(we call switches) and a backoffice application which consumes these
messages.&nbsp; We have a guaranteed delivery requirement for the messages,
we also require that the switches can continue to operate unhindered
(assuming infinite disk space) during long periods of slow or
non-consumption of messages by the backoffice.&nbsp; I'm not familiar with
rabbitMQ, but the implication I take from this thread is that rabbitMQ
would not meet our requirements (at least not without significant extra
bespoke work)&nbsp; - is that a fair statement?<br>
<br>
Regards<br>
<br>
Graham<br>
<br>
Ben Hood wrote:
<blockquote
 cite="mid:269388e30811151118p5c1d002bp581a373785164028@mail.gmail.com"
 type="cite">
  <pre wrap="">Ilya,

On Sat, Nov 15, 2008 at 6:43 PM, Ilya Grigorik <a class="moz-txt-link-rfc2396E" href="mailto:ilya@aiderss.com">&lt;ilya@aiderss.com&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">- If we connect multiple nodes together (without persistence), and then
create an exchange, the in-memory queues will be replicated across all
nodes?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
No, only broker entities are replicated (exchanges, queues and
bindings), but not the actual messages as indicated in the clustering
guide: <a class="moz-txt-link-freetext" href="http://www.rabbitmq.com/clustering.html">http://www.rabbitmq.com/clustering.html</a>

The reason for this is primarily the cost of inter-node message replication.

  </pre>
  <blockquote type="cite">
    <pre wrap="">- Assuming the cluster is running, is it up to the client to determine which
node it wants to connect to (either explicitly, or through some load
balancer in between)?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Yes.

  </pre>
  <blockquote type="cite">
    <pre wrap="">- Now, if we add persistence to the queue, will a copy of the queue be
stored on each node in the cluster?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
You a queue only exists on one node in the cluster. Persistent
messages that are routed to a queue are written to disk on the node
where the queue exists. Also you need to differentiate between
persistent messages (a property that the publisher sets) and
persistent queue (a property that is set when creating a queue). The
implication is that you can send persistent messages to a transient
queue and vice versa.

HTH,

Ben

_______________________________________________
rabbitmq-discuss mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a>
<a class="moz-txt-link-freetext" href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a>

  </pre>
</blockquote>
<br>
</body>
</html>