[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