<div>Folks,</div><div><br></div><div>I&#39;m new to AMQP and RabbitMQ and had some questions about how I should</div><div>go about modeling the following problem with exchanges and queues:</div><div><br></div><div>A. I have consumers with a routing tag (not unique -- multiple</div>
<div>�� consumers may have the same routing tag)</div><div><br></div><div>B. Messages are enqueued with a routing tag.</div><div><br></div><div>C. Each message should be delivered only once to a consumer among the</div><div>
�� set of consumers for which the function</div><div>���</div><div>�� � �canConsume?(consumerRoutingTag, messageRoutingTag)*</div><div><br></div><div>�� is true.</div><div><br></div><div>* canConsume?(aTag, msgTag) = ((aTag &amp; msgTag) == msgTag)</div>
<div><br></div><div><br></div><div>How do I go about configuring my exchange and queues? Do I...</div><div><br></div><div>1. Create a queue for each consumer and create a rabbit_exchange_type</div><div>�� that only delivers to a queue for which canConsumer? is true</div>
<div><br></div><div>2. Create a queue for each consumerRoutingTag (multiple consumers can</div><div>�� end up on the same queue) and create a rabbit_exchange_type that</div><div>�� only delivers to a queue for which canConsumer? is true</div>
<div><br></div><div>3. Have a single queue and then somehow scan each consumer for which</div><div>�� canConsumer? is true for each incoming message and then deliver to�</div><div>�� that consumer?</div><div><br></div><div>
<br></div><div>I would appreciate any guidance here on how to�route messages most</div><div>effectively to consumers given the above�scenario. Further, if I write</div><div>my own rabbit_exchange_type, is there�support in RabbitMQ for helping</div>
<div>me fairly distribute messages across�the candidate lists? Would the</div><div>rabbit_exchange_type be the same as</div><div>�</div><div><a href="https://github.com/rabbitmq/rabbitmq-external-exchange">https://github.com/rabbitmq/rabbitmq-external-exchange</a></div>
<div><br></div><div>Thanks a bunch!</div>