Jiri<div><br></div><div>That answered my questions. Now, as I understood your example:</div><div><br></div><div>a. you don't mind messages being lost </div><div>*and*</div><div>b. you don't use the secondary until after the primary has failed. </div>
<div><br></div><div>Note that if consumption is completely 'fire and forget' then it is possible that a message from the primary may *arrive* after a message from the secondary. But this can happen whether you use sequence numbers or not. </div>
<div><br></div><div>So if the primary broker fails, why not just forget all undelivered messages? Consumers will know that any message consumed from the secondary must be later in *all* orderings than any message consumed from the primary. So, additional sequence numbering is not necessary. </div>
<div><br></div><div>alexis</div><div><br></div><div><br></div><meta charset="utf-8"><div><br></div><div><br><br><div class="gmail_quote">On Thu, Sep 2, 2010 at 6:12 PM, Jiri Krutil <span dir="ltr"><<a href="mailto:jiri@krutil.com">jiri@krutil.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Alex,<br>
<br>
Not sure if I got your questons, but will try to answer...<div class="im"><br>
<br>
On 2 Sep 2010, at 18:02, Alexis Richardson <<a href="mailto:alexis@rabbitmq.com" target="_blank">alexis@rabbitmq.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
1. How will out-of-order behaviour be observed in your use case?<br>
</blockquote>
<br></div>
Our client-server contract promises that requests from a given client will always be processed in the order in which they were delivered to the broker. The same applies for the server responses. This is strictly required for our business. It is acceptable though that requests from different clients connected to different brokers are delivered in a different order.<br>
<br>
Our server could detect out-of-order requests using a request sequence number and throw them away. This would however require cooperation from the clients (always fill in the seq no).<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2. Do you plan to use shared queues, or will each queue have just one consumer client so that all pubsub happens using the exchange?<br>
</blockquote>
<br></div>
Clients receive broadcasts by declaring an exclusive queue and binding a well-known topic exchange to it.<br>
<br>
Requests are processed by one (singleton) service, possibly consuming from two brokers, one request queue per broker.<br>
<br>
Nothing at all is shared among the brokers.<br>
<br>
Regards<br>
Jiri<br>
</blockquote></div><br></div>