[rabbitmq-discuss] Highly Dynamic Bindings?

Matthew Sackman matthew at rabbitmq.com
Thu Jun 17 12:41:38 BST 2010


Hi Michael,

On Wed, Jun 16, 2010 at 01:39:09AM -0400, Michael Artz wrote:
> We're trying to push some of our application's routing logic into RabbitMQ/AMQP but had a couple of questions before we get too far along.  We currently have a 4-node Rabbit cluster using only a single disk node.  The nodes are underpowered (and under-RAMed), but the message volume is currently only ~10 messages/sec (1K messages), although expected to grow.  We're planning on implementing a chat-like system that would perform a lot of binding operations on a limited number of queues and were wondering:
> 
>  - Are there any issues having a large (30K+) number of non-wildcarded bindings for a single queue?

Yup. Are these bindings all to a single exchange or to lots of
exchanges. What's the average number of bindings per exchange? If you're
using topic exchanges then the matching of bindings is not as efficient
as it could be, even for bindings without wildcards. Using direct
exchanges are more efficient.

>  - Are there any issues with a large amount of binding "churn" (~10 binding adds/drops per second per queue)

Yup.

Both of these will cause significant pain for Rabbit as soon as you get
to a decent number of queues. It's certainly worth doing some testing
for your expected use cases, but I would expect this to not scale very
well. All binding create/delete operations will result in traffic
between every node in the cluster.

What kind of chat are you trying to do - just p2p or with chat rooms
etc? Are you doing presence notification etc too?

Matthew


More information about the rabbitmq-discuss mailing list