AMQP 1.0 和事务

AMQP 1.0 and transactions

我正在评估 AMQP 1.0 和 Azure 服务总线,目前正在研究事务支持 - 两阶段提交协调数据库 insert/update/delete 和 read/write 到总线的消息)。 在我的测试中使用 "Amqp.Net Lite" for .Net。

Does Azure Service Bus support 2PC transactions?

没有

Does AMQP 1.0 and Amqp.Net Lite support 2PC transactions? (any code examples?)

没有

您可以在 AMQP.NET Lite repo

下找到样本

为什么没有2PC交易?您处于云环境中,资源不仅是基于服务的,而且是远程的。使用分布式事务控制器协调多个资源的 2PC 都会超时。对于 Azure 服务总线和 AMQP.NET Lite, 支持事务,transport level transactions。 IE。您可以 receive/send 以事务方式发送消息,但没有其他服务可以参与该事务。您将需要更改实现架构以处理幂等性。

2PC and cloud 上有一个不错的 Twitter 系列,您可能会觉得有帮助。