nServiceBus vs Mass Transit vs Rhino Service Bus vs other?

时间:2009-10-21 15:13:13

标签: msmq nservicebus servicebus masstransit rhino-esb

只是做一些快速的尖峰,可能使用消息传递系统处理一个很好地解耦的工作流系统中的文件。

人们发现使用上述每个框架的优点和缺点是什么?使用这些与使用WCF绑定和/或非MSMQ解决方案的手动MSMQ系统有什么好处?

4 个答案:

答案 0 :(得分:71)

我建议远离手动解决方案,因为有一些有些困难的东西需要得到正确的解决 - 比如如何处理事务,例外如何导致回滚,如何无休止地停止回滚(毒药)消息),如何与长期运行的工作流程集成,以便状态管理边界排队等等。

您可能需要某种持久/事务性消息传递基础结构,因此不使用MSMQ,您将在Microsoft平台上使用Service Broker,或者使用ActiveMQ等其他替代方案。 MSMQ的好处是已经安装在所有Windows机器上,而不是Service Broker,而不是。

在NServiceBus,Mass Transit和Rhino Service Bus之间进行选择 - 这个Stackoverflow答案comparing NServiceBus to MassTransit将是一个很好的起点..

在我们的3.1版本中,我们将介绍NSB Studio - 一组Visual Studio集成建模工具,使您能够在更高的抽象级别对系统进行建模,并为您完成NServiceBus的大部分配置和初始化自动。我会说这真的有助于提升NServiceBus的规模。

希望有所帮助。

免责声明:我是NServiceBus的作者。

答案 1 :(得分:51)

NServiceBus 是一个很好的产品,但要注意许可问题。根据作者的意愿,它倾向于改变许可政策。请查看old license information.

上的示例

可能会发生在项目开发过程中你会发现你需要为NServiceBus付出很多钱。

免费版也有性能限制。

MassTransit 是完全免费的开源软件,它没有任何限制,并且在Apache 2.0许可下。

我没有使用 Rhino Service Bus

答案 2 :(得分:25)

Rhino vs NServicebus状态的更新:

http://www.infoq.com/news/2012/04/nservicebus3-0

  

InfoQ to Ayende: 您之前已经为.NET编写过服务总线   你自己,就是Rhino Service Bus。应该是Rhino Service的用户   巴士现在重新考虑并转移到NServiceBus?

     

Ayende:我在2008年左右建立了Rhino Service Bus。我主要是建立它   因为我对其他服务巴士的状态不满意   时间。在构建我时,我有不同的顾虑和方向   服务巴士,但那是4年前。在那个时候,我认为   NServiceBus在成为易于使用的产品方面取得了长足的进步   并有一个更好的开箱即用的开发故事。如果我是   今天从服务巴士开始,我强烈怀疑我会这样做   建立自己的。

答案 3 :(得分:9)

任何基于MSMQ的潜在con是对最大邮件大小的限制。 IIRC大约是4MB,如果您处理大文件并将文件内容存储在消息中,您可能很容易遇到这种情况。