[rabbitmq-discuss] Message Order Guarantees and Multiple Bindings

Tim Stewart tim at stoo.org
Fri Apr 26 22:23:53 BST 2013


Hello rabbitmq-discuss,

I have a producer using a single channel to submit messages to a single
exchange on a RabbitMQ node (no clustering).  There are N queues bound
to this topic exchange with unique routing keys, and all queues also
bound with a common routing key to enable broadcasting to all queues.  

Consider the following sequence:

1. Message 1 (M1) is sent and is routed to Queue 1 (Q1).

2. M2 is sent and is routed to all queues via the broadcast routing key.

3. M3 is sent and is also routed to Q1.

Is the resulting message order in Q1 guaranteed to always be M1,M2,M3?
If so, does this guarantee still hold if I have clustered Rabbits and
the producing channel and receiving queue are on different nodes (my gut
says yes if the previous question holds true, but it doesn't hurt to
ask).

Or, to ask it another way--for messages submitted via a given channel,
will a message be routed to all queues that match a binding before
processing the next incoming message?

Thanks,

-TimS

-- 
Tim Stewart
tim at stoo.org




More information about the rabbitmq-discuss mailing list