我正在阅读文档,以下内容让我感到困惑,因为它在文档顶部说明版本 5 我们无需使用 DTC 即可获得可靠性。
这些功能已使用发件箱模式和重复数据删除模式实现。当一条消息出队时,我们检查我们之前是否处理过它。如果是这样,我们将在发件箱中为该消息传递任何消息,但不再调用消息处理逻辑。如果消息之前没有被处理,那么我们调用常规处理程序逻辑,将所有传出消息存储在持久存储中,与用户自己的数据库更改在同一事务中。最后,我们发送所有传出消息并更新重复数据删除存储。
我确定这可能是由于我缺乏理解,但 NServiceBus 正在打开它自己的连接和事务与消息处理程序(例如;调用存储库以进行保存)数据库连接分开的事实不会将事务升级为完整的 2PC 使用 DTC?
这是文档:
http://docs.particular.net/nservicebus/outbox/
谢谢!