[rabbitmq-discuss] Exactly Once Delivery

Matthias Radestock matthias at rabbitmq.com
Sat Aug 7 20:46:50 BST 2010


John,

John Apps wrote:
> That's really like the piece of string question, no? Of course it can 
> fill up, as can the DB where things are persisted for those cases where 
> messages cannot be delivered.
> Having an unique ID in every message is not something new and not 
> restricted to messaging, of course. It is simply a very good idea!

I believe Matthew was simply trying to point out that many of the 
supposed guarantees of messaging systems are a lot softer than most 
people think. In reality a "guarantee" is little more than an increase 
in the probability that the right thing will happen. Coming clean about 
that is going to be important for cloud computing to succeed - improving 
the probabilities does come at a price, and for systems at massive 
scales the cost/benefit calculations look quite different.

So, for example, using publisher-supplied message ids for de-duping 
simply does not scale. Think what a genuine cloud messaging system would 
have to do to handle the case where a producer injects the same message 
first in a node in Australia and then in New York.

> What has not been touched on in this little discussion so far is the 
> question of transactions

Similar considerations apply here. XA in the cloud? Hmmm.


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list