[rabbitmq-discuss] Message order of delivery

Laing, Michael michael.laing at nytimes.com
Sun Jan 26 16:29:14 GMT 2014


Since it is a new project, might be worthwhile to consider a design that
tolerates occasional minor ordering differences.

That is what we do, so we can scale horizontally.

For example, the messages originating from our internal groups are always
cached for up to 30 days in our global data store (Cassandra). It's
important to them that the messages are retrievable in order, and by this
they mean the order in which they submit them.

Basically, we insist that *they* timestamp them to the microsecond. We use
their timestamp, ultimately, as the Cassandra timestamp for that message,
guaranteeing order where it counts. Meanwhile, because we have many
clusters involved with parallelized services and may, in fact, be
replicating important messages, we cannot guarantee exact order during
processing.

Some funny stuff happened in staging using this approach due to lack of
time synchronization, but in production it has worked very well.

Michael Laing
NYTimes


On Sun, Jan 26, 2014 at 7:27 AM, Mysurf Mail <stammailbox at gmail.com> wrote:

> Hi,
> I need to choose a new Queue broker for my new project.
> This time I need a scalable queue that supports pub/sub, and keeping
> message ordering is a must.
>
> I read Alexis comment to an ancient question<http://www.quora.com/RabbitMQ/RabbitMQ-vs-Kafka-which-one-for-durable-messaging-with-good-query-features>in Quoara. He writes
>
> "Indeed, we think RabbitMQ provides stronger ordering than Kafka"
>
> I read the message ordering section in rabbitmq docs<http://www.rabbitmq.com/semantics.html>
> :
>
> "Messages can be returned to the queue using AMQP methods that feature a
> requeue parameter (basic.recover, basic.reject and basic.nack), or due to
> a channel closing while holding unacknowledged messages...*With release
> 2.7.0 and later it is still possible for individual consumers to observe
> messages out of order* if the queue has multiple subscribers. This is due
> to the actions of other subscribers who may requeue messages. From the
> perspective of the queue the messages are always held in the publication
> order."
>
> So, if I need to handle messages by their Order, I can only use rabbitMQ
> with an exclusive queue  to each consumer? Is RabbitMQ still considered a
> good solution for ordered message queuing?
> Thanks.
>
>
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20140126/f520a1af/attachment.html>


More information about the rabbitmq-discuss mailing list