MassTransit支持分布式交易吗?

时间:2016-04-02 05:56:37

标签: .net transactionscope servicebus masstransit

我已阅读过Udi的文章Life without distributed transactions

MassTransit是否支持分布式事务? (以避免MassTransit上的重复问题,而不是通过代码手动检查)

1 个答案:

答案 0 :(得分:4)

MassTransit有一个名为Courier的功能,它使用执行/补偿样式的路由滑动方法实现分布式事务。您可以在GitHub上看到代码示例:https://github.com/MassTransit/Sample-Booking

路由单将事务分解为一组按原子顺序执行的活动,并在路由单中记录补偿信息。如果活动出现故障,则先前完成的活动将得到补偿,以便部分交易不会保持打开状态。

这是进行分布式事务的基础,目前已在生产中的几个大型分布式事务处理应用程序中使用。

Courier用法的另一个好例子:https://github.com/phatboyg/Demo-Registration