入门
建筑
NServiceBus服务总线
运输
坚持不懈
服务洞察力
服务脉冲
服务控制
监测
样品

事务和消息处理

根据所选传输,NServiceBus在消息处理方面提供了四个级别的一致性保证。默认的一致性级别是TransactionScope(分布式事务),但可以使用代码配置API指定不同的级别。

请参阅运输事务本文了解有关NServiceBus一致性保证的更多信息。

默认值事务范围超时限制为1分钟。此限制可以调整到机器范围内的最大超时值。默认情况下,机器范围内的最大值为10分钟,但也可以调整后的如果需要。

分布式交易协调器

在Windows中,分布式事务处理协调器(Distributed Transaction Coordinator,DTC)是一种操作系统级服务,用于管理跨多个资源(如队列和数据库)的事务。

为NServiceBus配置DTC的最简单方法是遵循安装指南,或使用专用PowerShell命令集.

分布式事务协调器疑难解答

这个DTCP处理工具可用于验证DTC服务是否正确配置,以及进行故障排除:

DTCPing工具

有关更多信息,请参阅使用DTCPing工具排除MSDTC问题MSDN上的文章。

消息处理循环

消息在NServiceBus中按以下步骤处理:

  1. 查看队列以查看是否有消息。
  2. 如果有消息,则启动事务。
  3. 再次联系队列以接收消息,可能有多个线程查看了同一消息。队列确保只有一个线程实际获得给定的消息。
  4. 如果线程能够获得它,NServiceBus将尝试反序列化消息。如果失败,消息将移动到配置的错误队列并提交事务。
  5. 成功反序列化后,NServiceBus调用所有基础结构、消息变异器和处理程序。此步骤中的异常导致事务回滚,消息返回到输入队列。消息将被重新发送配置的次数;如果所有尝试都失败,那么它将被移至错误队列。

请参阅消息处理管道文章以了解有关消息处理的更多信息。

请参阅可恢复性ServicePulse:消息监视失败文章了解有关错误处理、自动和手动重试以及处理失败监视的更多信息。

限制

什么时候?在Amazon RDS for SQL Server上启用MSDTC,一套限制必须加以考虑。

相关文章

  • 操作
    操作目录。
  • 发件箱
    无需分布式事务的可靠消息传递。
  • 可恢复性
    解释如何在消息处理期间处理异常和重试操作。