[rabbitmq-discuss] Regarding FIFO Support
matthias at rabbitmq.com
Wed Jul 7 21:52:30 BST 2010
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
>> I wonder if this is true?
> This is true.
RabbitMQ conforms to the ordering guarantees specified by AMQP. See
section 4.7 of the AMQP 0-9-1 spec:
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.
More information about the rabbitmq-discuss