NServiceBus相对于普通的RabbitMQ的特定优势

31

相比于只使用 .NET 驱动程序连接 RabbitMQ(假设我们可以用 AMQP 替换 MSMQ),使用 NServiceBus 有哪些优势?NServiceBus 是否提供了任何额外的功能或抽象,这些功能或抽象在 AMQP 中直接使用是不可用的。


另一个好的答案:https://dev59.com/SFoT5IYBdhLWcg3w2SUS#38125057 - Udi Dahan
2个回答

32
主要优点包括(但不限于):
  • 负责消息的序列化/反序列化。
  • 提供了一个整洁的模型来分配带有处理程序的消息、多态分配、将处理程序排列到管道中等等。
  • 处理工作单元。
  • 提供了一个整洁的Saga实现。
  • 提供一个可以进行F5调试以及安装为Windows服务的主机进程。

如果您直接使用RabbitMQ .NET客户端,这些功能需要自己实现 - 除非当然您不需要这些功能。

哦,如果您使用MSMQ而不是RabbitMQ,则可以在无代理模式下获得所有这些功能 :)


补充这个优秀的答案,如果你直接使用RabbitMQ,你必须自己构建服务总线,而这不是一项微不足道的任务 - https://particular.net/videos/so-you-want-to-build-a-service-bus - Adam Ralph

3

NSB通常使用MSMQ作为底层传输方式。它也可以使用RabbitMQ或其他符合AMQP标准的传输方式。NSB支持所有基本的消息模式,包括点对点通信、发布/订阅等。选择特定的传输方式与选择NSB本身是不同的决策。它有许多功能,您可以从文档页面了解相关信息。


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