<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
>   Target(exchange='nova', topic='compute')<br>
>   Target(exchange='nova', topic='compute', server='compute1')<br>
>   Target(exchange='nova', topic='compute', fanout=True)<br>
><br>
> In the first case, any compute service will do. In the second, you want<br>
> to invoke the method on a particular compute service. The the latter<br>
> case, you want to invoke it on all compute services.<br>
<br>
</div></div>This really helps understand some of what I've read. Thanks.<br>
<br>
It seems that exchange is really just a high level qualifier of a namespace for the most part.<br>
<br>
Q: if in the above last Target, fanout was false (fanout=False) would that mean that you are expecting queue type behavior in that instance? i.e. I want only one consumer, I don't care which one, but only one consumer to service this request? So that syntax would change the semantics from pub/sub topic (i.e. all subscribers to the topic get it) to a queue semantic (first consumer to acquire the message causes it to dequeue and be not available to others?<br>
</blockquote><div><br></div><div>Correct. Provided fanout=False, the behavior would be the same as with the first example.</div><div><br></div><div>Also, I should add that there is a module in Oslo called the Matchmaker to allow consumers to subscribe their addresses to virtual queues in a peer-to-peer setting. This is presently used by the ZeroMQ driver. Because a pure peer-to-peer system has no centralized broker, there needs to be some peer tracker to provide an analogue to a queue. It would be possible for an AMQP 1.0 based driver to leverage this module.</div>
<div> </div></div>-- <br>Regards,<div>Eric Windisch</div>
</div></div>