[rabbitmq-discuss] Regarding FIFO Support

Matthias Radestock matthias at rabbitmq.com
Wed Jul 7 21:52:30 BST 2010


Tim, Jason,

Jason J. W. Williams wrote:
> On Wed, Jul 7, 2010 at 2:37 PM, Timothy Chen <tim at evri.com> wrote:
>> I remember reading from somewhere that RabbitMQ doesn't support 
>> FIFO, or in other words doesn't gurantee ordering of messages being
>> published.
>>
>> I wonder if this is true?
> This is true.

or not.

RabbitMQ conforms to the ordering guarantees specified by AMQP. See 
section 4.7 of the AMQP 0-9-1 spec:

<quote>

4.7 Content Ordering Guarantees

The order of methods flowing across a channel is stable: methods are 
received in the same order as they are sent. This is guaranteed by the 
TCP/IP transport used by AMQP. Further, contents are processed in a
stable manner by the server. Specifically, contents flowing through a 
single path within the server will remain ordered. For contents of a 
given priority flowing through a single path, we define a content
processing path as consisting of one incoming channel, one exchange, one 
queue, and one outgoing channel.

Guidelines for implementors:

The server MUST preserve the order of contents flowing through a single 
content processing path, unless the redelivered field is set on the 
Basic.Deliver or Basic.Get-Ok methods, and according to the rules 
governing the conditions under which that field can be set.

</quote>


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list