[rabbitmq-discuss] AMQP's message ordering guarantees are stupid (was Re: Job Server Resource Allocation Help)

Tony Garnock-Jones tonyg at lshift.net
Thu Oct 8 15:05:02 BST 2009


Bryan Murphy wrote:
> Total order isn't necessary, we just want to make a good faith effort to
> serve those who's requests came first.

Many, many, many people are in this situation. To me, it's the situation
AMQP should be designed to accommodate.

I get more and more annoyed with the AMQP spec's insistence on
preserving perfect ordering (given some heavily caveated list of
preconditions, of course!). My preference would be for the sum total of
the spec's input on the ordering question to read something along the
lines of "brokers SHOULD preserve relative message ordering where possible."

Requiring any kind of strict order preservation leads to complexity,
inefficiency, and scaling bottlenecks in the broker, not to mention
nasty surprises for application developers down the line when they
discover the (common but underadvertised!) corner cases where AMQP
*cannot* preserve message ordering. Explicit is better than implicit,
after all! Those who rely on the broker preserving perfect (rather than
rough/best-effort!) ordering are kind of doomed.

I should totally blog about this rather than ranting in the mailing list :-)

Tony





More information about the rabbitmq-discuss mailing list