[rabbitmq-discuss] Fwd: question on the faq
Carl Trieloff
cctrieloff at redhat.com
Mon Jan 5 16:57:25 GMT 2009
Tim Coote wrote:
> I've now read a bit of the specs :-)
> amqp defines tx classes (which are not transactional in the sense of
> XOpen's XA specification) and dtx, which are. I don't understand, at
> the moment, what tx really means in the context of a message passing
> system, but I suspect that it's something to do with some sort of
> 'transactional' model with a message server (or whatever I call the
> agent that my application interacts with that is its interface to the
> messaging system): I can send messages to the message server with
> transactional semantics, but there's no downstream semantics. I'm not
> very clear on how this is a useful piece of functionality as I cannot
> see what guarantees I get for it.
>
> iirc, MQSeries had similar semantics about 'guaranteed delivery',
> which are not much use, either, as you still have to put in place
> checks for message receipt by the end point.
you comment on 'guaranteed delivery' is spot on. tx in msg system
allows you
to ACID commit or rollback 1-N msg onto 1-N queues. or consume 1-N messages
from 1-N queues and either commit or rollback the full set in the TXN in
a ACID
fashion.
AMQP
TX == 1PC for local transactions, not coordinated by a TM
DTX == 2PC and can be coordinated by a TM (optionally XA) if desired.
Carl.
More information about the rabbitmq-discuss
mailing list