<div dir="ltr">Yes, I think you got the point..Unfortunately I'm not so expert of RabbitMQ to fully understand how to integrate Redis or Zookeeper in RabbitMQ :(<div>I think my use case is an already encountered one, isn't it? is there some reference to an already existing solution?</div>
<div>If not, could you please give me some more reference or hint about implementing the solution you proposed?<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 24, 2013 at 11:31 AM, Michael Klishin <span dir="ltr"><<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Flavio Pompermaier:<br>
<div class="im"><br>
> In my current implementation I use a single queue and a single multi-threaded consumer (via Spring-AMQP) that allow me to achieve this goal.<br>
> But, I'm not sure what's the best way of scaling..is there some RabbitMQ mechanism that I can exploit?<br>
> Should I change my design?<br>
> Maybe I should create a dedicated exchange per source and add more queues as the load grows..but here I still got problems when I receive this end message..<br>
<br>
</div>Indeed having a "stop message" implies message ordering. But it is also the case with<br>
multiple consumers per queue.<br>
<br>
So the issue really is how to coordinate consumers, regardless of how many queues are<br>
involved.<br>
<br>
Depending on the delay between one consumer receiving the stop message and all consumers<br>
stopping you can tolerate, you can either notify other consumers via a separate group of<br>
queues (lets call them "control queues") or using a key/value store like Redis, or a full blown<br>
coordination system such as ZooKeeper.<br>
--<br>
MK<br><br></blockquote></div><div dir="ltr"><p></p><p></p><p></p><p></p></div>
</div></div></div>