.net - NServiceBus 与 MassTransit

标签 .net nservicebus esb masstransit

我正在努力列出有关 NServiceBus 和 MassTransit 的优缺点列表。

现在我知道这里已经有一个线程,但它并没有真正回答我的问题。

这是我迄今为止读到的内容:

  1. NServiceBus,是的,它已获得许可,但不是免费的。
  2. MassTransit,是的,它是开源的,但文档似乎有些缺乏。

NServiceBus 比较旧,并且有更多引用。很难找到有关大众交通的信息,但我很开放。然而我必须提供一个可靠的解决方案,所以我不得不问。

所以请对这两个框架都有经验的人。为什么我应该选择NServiceBus?或者为什么我应该选择大众交通?

是性能、安全性、规模还是?

最佳答案

如果我必须总结一下,我会说:

如果您需要商业支持,请选择 NServiceBus。如果您愿意使用论坛作为支持手段,MassTransit 是一个不错的选择。到目前为止,开发人员对我们的问题 react 非常积极。如果您选择 MassTransit,现在您将在 MSMQ 和 RabbitMQ 之间进行选择。如果您需要 DTC,请使用 MSMQ。如果您想要更多功能和更好的管理,请选择 RabbitMQ。

在我们的项目中,我们从 NServiceBus 切换到 MassTransit 有两个原因:

  1. 公共(public)交通免费
  2. 我们喜欢 RabbitMQ
<小时/>

这两个框架我都用过。我使用 MassTransit 的时间比使用 NServiceBus 的时间长。以下是我所看到的亮点。

成本:

  • MassTransit 已获得 Apache 2.0 许可,可免费用于商业生产,而 NServiceBus 则不然。

支持:

  • 正如 Udi 提到的,有一个商业 NServiceBus 支持的选项,但我还没有看到 MassTransit 的支持选项。

交通:

  • MassTransit 支持 MSMQ 和 RabbitMQ
  • NServiceBus 仅支持 MSMQ NServiceBus 4+ 支持 RabbitMQ

RabbitMQ 与 MSMQ:

  • MSMQ 支持 DTC(分布式事务协调器),用于涉及可能多台计算机(例如 SQL 服务器、Windows 服务)上的多个进程的事务
  • RabbitMQ 具有出色的 Administration interface
  • MSMQ 的历史较长,是 Microsoft 产品
  • RabbitMQ 是较新的、开源的、免费的,并且由 VMWare 赞助
  • 默认情况下,MSMQ 安装在大多数 Windows 计算机上

Udi Dahan 和 MassTransit 的同事(Chris Patterson、Dru Sellers 和 Travis Smith)都是才华横溢的人。

关于.net - NServiceBus 与 MassTransit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13647423/

相关文章:

C# MVC 类对象引用未设置为对象的实例

c# - 使用 EF Database First 的单表分层数据

wso2 - wso2 jax-ws 客户端的问题

.net - Windows 7 x64 上的 WinDbg x86 .NET 4 应用程序 : Failed to load data access DLL, 0x80004005

c# - 在派生自(相同)接口(interface)的两种类型之间进行转换

nservicebus sagas - 试图理解目的和好处

architecture - 您如何在 Udi 风格的 SOA 架构中聚合数据?

nservicebus - 通过 NServiceBus.Host.exe 启动端点时出现异常

java - Mule MUnit FTP 服务器架构定义

c# - 如何使用 SOA 架构实现松散耦合