<br><br><div class="gmail_quote">On Mon, Jan 24, 2011 at 10:14 AM, David Wragg <span dir="ltr">&lt;<a href="mailto:david@rabbitmq.com">david@rabbitmq.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi Bill,<br>
<div class="im"><br>
Bill Moseley &lt;<a href="mailto:moseley@hank.org">moseley@hank.org</a>&gt; writes:<br>
&gt; Are there any good conventions to follow when naming queues, exchanges, and<br>
&gt; bindings?  As I&#39;m adding more queues I&#39;m starting to think some type of<br>
&gt; naming convention would be very smart.  Just curious what other&#39;s do.<br>
<br>
</div>I don&#39;t think there is any one right way.  When choosing names for<br>
queues, exchanges, and keys, the use of dotted paths is widespread.  But<br>
your questions are more about usage than naming.<br></blockquote><div><br></div><div>Hi David,</div><div><br></div><div>I do think it makes sense to use the dotted notation, and then use topic queues as that makes for very flexible routing options.  I was wondering if anyone had worked out some &quot;best practices&quot; over time that would be useful as we start to add more tasks.</div>

<div><br></div><div>I&#39;m trying to break up some of our existing processes that are very tightly coupled - the workers know quite a bit about the producers.  For example, a worker might be configured to handle just one application in &quot;QA&quot; mode, and another in &quot;production&quot; mode.  And likewise, the producer (in our current system) must know where to send the message (&quot;I&#39;m in QA mode so I need to send to the QA worker&quot;).</div>

<div><br></div><div>So, as an example I&#39;m wondering about schemes where an app might use a routing key of &quot;app1.qa.rotate_image&quot; which would allow us to configure consumers that handles all image rotation for all apps and all modes, or separate consumers based on the mode.</div>

<div><br></div><div>BTW -- in that case can I configure binding for three queues:  *.qa.rotate_image. *.production.rotate_image, and then a third for all except &quot;qa&quot; a and &quot;production&quot;?</div><div><br>
</div>
<div><br></div><div>Finally, I&#39;m still a bit confused when to create new exchanges (assuming all the same type).  Just trying to get some basic guidelines.  Is there any overhead with using more exchanges vs. just more bindings on the same exchange?  Is is common to use separate exchanges for grouping consumers (i.e. an exchange for report queues and another exchange for image manipulation queues)?</div>

<div><br></div><div>Thanks very much for your help,</div><div><br></div><div><br></div><div><br></div></div>-- <br>Bill Moseley<br><a href="mailto:moseley@hank.org" target="_blank">moseley@hank.org</a><br>