[rabbitmq-discuss] Regarding FIFO Support

觀看次數:21 次
跳至第一則未讀訊息

Timothy Chen

未讀,
2010年7月7日 下午4:37:577/7/2010
收件者︰ rabbitmq...@lists.rabbitmq.com
Hi all,

I'm currently evaluating different message queue systems, and is
interested in learning more about RabbitMQ.

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?

Thanks!

Tim

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq...@lists.rabbitmq.com
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

Jason J. W. Williams

未讀,
2010年7月7日 下午4:43:077/7/2010
收件者︰ Timothy Chen、rabbitmq...@lists.rabbitmq.com
This is true.

-J

Matthias Radestock

未讀,
2010年7月7日 下午4:52:307/7/2010
收件者︰ Jason J. W. Williams、Timothy Chen、rabbitmq...@lists.rabbitmq.com
Tim, Jason,

Jason J. W. Williams wrote:
> On Wed, Jul 7, 2010 at 2:37 PM, Timothy Chen <t...@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.

Jason J. W. Williams

未讀,
2010年7月7日 下午5:02:167/7/2010
收件者︰ Matthias Radestock、rabbitmq...@lists.rabbitmq.com
Matthias,

That's good to know. Could have sworn there has been discussion here
about ensuring order of delivery is up to the consumer/producers
involved.

-J

Timothy Chen

未讀,
2010年7月7日 下午5:07:507/7/2010
收件者︰ Jason J. W. Williams、rabbitmq...@lists.rabbitmq.com
I thought I read that somewhere as well, but definitely good to know
there is ordering support now in RabbitMQ (a new feature? ).

Tim

Matthias Radestock

未讀,
2010年7月7日 下午5:13:437/7/2010
收件者︰ Jason J. W. Williams、rabbitmq...@lists.rabbitmq.com
Jason, Tim,

Jason J. W. Williams wrote:
> That's good to know. Could have sworn there has been discussion here
> about ensuring order of delivery is up to the consumer/producers
> involved.

Timothy Chen wrote:
> I thought I read that somewhere as well, but definitely good to know
> there is ordering support now in RabbitMQ (a new feature? ).

It's not a new feature. You may have seen is discussions involving
scenarios which fall outside the conditions for which the ordering
guarantees apply. It is all too easy to end up in such situations. In
particular note the "unless the redelivered field is set" condition,
which means any disconnect by consumers can cause messages pending
acknowledgement to be subsequently delivered out of order.

回覆所有人
回覆作者
轉寄
0 則新訊息