[rabbitmq-discuss] is anybody using tx?
oyvind at tjervaag.com
Mon Jun 27 18:36:20 BST 2011
On Jun 27, 2011, at 5:02 PM, Matthias Radestock wrote:
> What use, if any, are RabbitMQ users finding for AMQP's tx class?
> The predominant application of tx we have seen in the past is as a means for the client to ensure that the server has accepted responsibility for a published message (or, conversely, be told of any failure to do so). Publisher confirms, which we introduced in 2.3.0, handle this much better. I suppose there might be still be users that haven't switched from 'tx' to 'confirm'. If so I'd like to know what is holding you back.
> What else are people using tx for with RabbitMQ? And what aspects of tx semantics are you relying on? (Note, for example, that the tx specified in AMQP 0-9-1 is very limited. For example, atomicity is not guaranteed for transactions affecting more than one queue.)
> Our current thinking is that tx, as it stands, is of very limited utility and that we are probably better off without it - it adds significant code complexity, slows down implementation of new features and is generally curtailing the evolution of RabbitMQ.
We use the tx class. Just because we can't afford to lose any messages. For our case we only use it for a single connection/channel/queue (and for a single message...) This, of course, makes publishing fairly slow..
There is no real reason for us not switching to confirms. It's planned, but I simply haven't had time to do the necessary changes yet. I did however do a quick branch-and-hack-test to just to try it out, and it seems to cover our use case fine (..think streaming analog values..) :)
More information about the rabbitmq-discuss