NServiceBus 4 and DTC

3

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

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

基本上,我正在考虑做以下事情:

  1. 更改我的处理程序以处理重复消息
  2. 升级到NServiceBus的第4版
  3. 关闭数据库上的DTC

从我所读的内容来看,我应该能够这样做而不会丢失任何消息。(我在一家医疗公司工作,丢失一条消息意味着我们会丢失患者的数据(非常非常糟糕)。)

唯一需要注意的是,我的系统使用分发器运行,然后将任务分配给多个工人。消息吞吐量很大,(我希望去掉DTC可以提高吞吐量)。

另外,如果我从MSMQ切换到RabbitMQ,这会有什么不同吗?


这看起来像是一个老问题,但如果你在v3中关闭DTC,并使用IMutateIncomingTransportMessages实现自己的错误处理程序,那么你很可能会没问题。 - David Savage
1个回答

0

只需在主机配置中使用此代码:

Configure.Transactions.Disable();

但是请记得正确处理所有错误,并手动回滚任何已打开的事务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接