TransactionScope Linux

TransactionScope with Linux

我正在尝试让 WebAPI 2.2 自托管在 Linux 环境中,这可以通过 Mono 完成,问题是我正在使用分布式事务的事务范围,所以它 (DTC) 在非 windows 平台?如果没有,是否有任何解决方法或替代方案来实现没有 DTC 的 2pc?

MSDTC 仅在 windows 上受支持。 2PC 的替代方案是实现消息队列事务。使用这种方法,您可以将事务分开,一个用于将消息从队列中取出,另一个用于持久存储到持久存储,例如关系数据库或 NoSQL 解决方案(无论您的系统是什么)。使用这种方法,您必须考虑消息 idempotency.

在此处详细了解此方法:

https://lostechies.com/jimmybogard/2013/05/09/ditching-two-phased-commits/

并且您可以选择要使用的消息队列技术,例如 RabbitMQ or ZeroMQ