[rabbitmq-discuss] Message Order Guarantees and Multiple Bindings

Tim Watson tim at rabbitmq.com
Fri Apr 26 23:40:24 BST 2013


On 26 Apr 2013, at 22:23, Tim Stewart wrote:

> Is the resulting message order in Q1 guaranteed to always be M1,M2,M3?
> .... for messages submitted via a given channel,

Messages from a single channel will never be delivered to any queue out of order. If all three messages are routed to a queue, it will see them in the order they were delivered on the channel, i.e., M1..M2..M3 and so on. You'll never get M2..M1..M3 - however as you noted, messages might not get delivered at all (if there's no suitable binding) and there are no guarantees about which queues will receive messages first in cases where multiple bindings exist. And yes, this ordering guarantee will hold in a cluster, regardless of where the producer is connected and/or queue is located.


More information about the rabbitmq-discuss mailing list