[openamq-dev] round-robin queues

Pieter Hintjens ph at imatix.com
Sat Feb 9 14:53:48 CET 2008


On Feb 9, 2008 1:23 PM, Esteve Fernandez <esteve at sindominio.net> wrote:

> Hi all, is there way to dispatch messages only once if two queues are bound to
> the same exchange with similar arguments?

Short answer: no.  Longer answer: round-robining is what single queues
are designed for.  Queues are designed to be entirely independent of
each other.  If you are trying to use multiple queues but in a
dependent fashion, your model wrong.

AMQP does not impose any limit on the number of queues a broker can
handle - millions, billions, trillions.  The limitations are:

 - the broker itself, e.g. OpenAMQ was designed to handle around 100k
queues at most
 - the client-to-broker dialog, i.e. creating a million queues might
take quite a long time

Lastly, my suspicion is that you may be solving a non-issue.  If you
use a single queue to handle many types of message, they will also be
round robined, the only difference between a million types in 1 queue
and 1 type in each of a million queues is that messages will be
processed with less granularity, i.e. small ones may get stuck behind
large ones.

So, my guess is that your ideal architecture consists of a very small
number of queues (two?) that reflect the average size of the message
type.  You put books and magazines in one queue, and dvds in the
other.

-Pieter


More information about the openamq-dev mailing list