Nservicebus N服务总线4和故障诊断码

Nservicebus N服务总线4和故障诊断码,nservicebus,msdtc,nservicebus3,nservicebus4,Nservicebus,Msdtc,Nservicebus3,Nservicebus4,我正在考虑将我们的NServiceBus 3.3.3系统升级到版本4 我读了一些帖子,似乎表明版本4可以在没有DTC的情况下工作。这是真的吗? 基本上,我正在考虑这样做: 更改我的处理程序以能够处理重复消息 升级到NServiceBus的版本4 关闭数据库上的DTC 从我所读到的,我应该能够做到这一点,而不会丢失任何信息。(我在一家医疗公司工作,丢失信息意味着我们丢失了患者的数据(非常糟糕)) 唯一值得注意的是,我的系统运行时有一个分发服务器,然后分发给几个工人。通过put传递的信息是巨大的(我

我正在考虑将我们的NServiceBus 3.3.3系统升级到版本4

我读了一些帖子,似乎表明版本4可以在没有DTC的情况下工作。这是真的吗?

基本上,我正在考虑这样做:

  • 更改我的处理程序以能够处理重复消息
  • 升级到NServiceBus的版本4
  • 关闭数据库上的DTC
  • 从我所读到的,我应该能够做到这一点,而不会丢失任何信息。(我在一家医疗公司工作,丢失信息意味着我们丢失了患者的数据(非常糟糕)

    唯一值得注意的是,我的系统运行时有一个分发服务器,然后分发给几个工人。通过put传递的信息是巨大的(我希望删除DTC将提高吞吐量)


    作为旁注,如果我从MSMQ切换到RabbitMQ,这会有什么不同吗?

    只需在主机配置中使用它:

    Configure.Transactions.Disable();
    

    但请记住正确处理所有错误,并手动回滚所有打开的事务。

    这看起来像是一个老问题,但如果您在v3中关闭DTC,则如果您使用IMutateIncomingTransportMessages实现自己的错误处理程序,您可能会没事。