为什么将 NServiceBus 与 AzureServiceBus 一起使用?

Why use NServiceBus with AzureServiceBus?

AzureServiceBus 和 NServiceBus 对我来说都是新的,我正在探索将 NServiceBus 用于微服务架构。

我知道 NServiceBus 可以使用不同的传输方式,例如 Learning、SQLServer、MSMQ、AzureServiceBus 等。我还使用上述传输方式创建了 POC。

我想了解的是,当 AzureServiceBus 可以用作企业服务总线时,与 NServiceBus 一起使用有什么好处?

换句话说,为什么我要使用 AzureServiceBus 作为 NServiceBus 中的传输?有什么理由不只使用 AzureServiceBus?

Why would I use AzureServiceBus as a transport in NServiceBus?

Azure 服务总线不是一个微不足道的依赖项。有些事情,例如重试和间歇性错误、连接处理、序列化和反序列化、消息大小限制、事务管理等等,您可能不想自己做或不想在您的代码中包含它们。这就是 NServiceBus 发挥作用的地方。它还带来了一些您在早期可能不一定会考虑的额外好处。例如操作工具(监控、手动重试等)。它提供的编程模型为您提供了对许多概念的抽象,允许您在需要时最终转移到另一个消息服务。

从业务角度来看,开发人员可以专注于业务问题,而不是先花时间构建中间件来处理 Azure 服务总线,然后再将中间件支持集成到分配给业务的预算中 problems/products。与开发时间成本以及与服务总线相关的代码维护和错误修复的持续成本相比,NServiceBus 的成本微不足道。就像公司在构建业务软件时不构建自己的操作系统一样,我们的客户选择专注于他们的核心业务,将消息传递基础架构留给 NServiceBus。

免责声明:我参与了 NServiceBus 的开发,并且是 Azure 服务总线传输的贡献者。