近段时间在看SOA,在国外网站有很多资料可以查看,本来在中文网站中找到一片关于这两个框架的对比介绍的可惜笔者没有认真翻译,只有花点时间自己翻译了一个版本,希望对技术界的朋友有所帮助。

我正纠结于NServiceBus和MassTransit的选择上的利弊。
现在我已经知道一些思路,但是这些并不能真正回答了我的疑问。
下面是我已经知道的内容:

  • 1、NServiceBus,它是需要序列的,不是免费的。
  • 2、MassTransit,它是开源的,但是文档似乎比较欠缺。

NServiceBus 出现的更早,有更多的引用文章介绍,MassTransit很难找到关于它的内容,但是我是一个开源思路支持者。然而我又必须选择一个可靠的解决方案,所以我需要一些帮助。

所以,我希望这里有对这两个框架有经验的人告诉我,为什么我应该选择NServiceBus?或者为什么我应该选择MassTransit?
是关于稳定、安全、可扩展还是别的什么?


回答者1:
如果是我去总结,下面是我的观点:
如果你需要商业支持,请选择NServiceBus.如果你习惯于在博客,开源社区寻求支持,MassTransit会使一个不错的选择。开发者们非常愿意回答我们提出的问题的。
如果你选择MassTransit,现在你需要选择从MSMQ和RabbitMQ中选择一种作为你的队列服务器。如果你需要DTC 请选择MSMQ。如果你需要更多功能并且更好的管理,请选择RabbitMQ。

在我们的项目中,有两个因素促使我们把NServiceBus迁移到MassTransit:

  • 1、MassTransit 是 免费的
  • 2、我们喜欢RabbitMQ

回答者2:
  我用过这两个框架。 我用MassTransit的时间比NServiceBus要长。下面是我对这两个框架亮点的概述。

成本上:
  MassTransit 是 Apache 2.0许可的可以免费用于商业产品,然而NServiceBus不是。
技术支持上:
  在Udi上提到,有关于NServiceBus的商业支持选项,但是在MassTransit上没有。
传输介质:
MassTransit 支持 MSMQ和RabbitMQ。
NServiceBus的早期版本只支持MSMQ,RabbitMQ的支持是在NServiceBus4+的版本中。
RabbitMQ 和 MSMQ的比较:
MSMQ 支持 DTC(分布式事务调度)包括多进程可能在多台计算机上运行的事务集合(e.g.SQL Server,Windows Service)
RabbitMQ 有一个杰出的管理接口
MSMQ存在已久并且是微软的产品
RabbitMQ 新一点,开源,免费,由VMWare赞助
MSMQ作为默认被安装在所有的Windows系统上

Udi Dahan 和 MassTransit 团队的成员们(Chris Patterson, Dru Sellers, and Travis Smith) 都是杰出的人才


回答者3:
  作为NServiceBus的原创作者,我显然更倾向于选择自己的技术,所以我会尽我所能试着让它更稳定。

更新:现在在Particular Service平台上有关于NServiceBus的监视和调试工具可以获得,这些工具在你的基于消息的系统上
创建和运行更容易。在技术的完整性上,我相信这种强大的提示和稳定在NServiceBus中的支持。
结束更新

在早期,我曾经追踪过MassTransit的发展。最近我没有这么多的时间去关注了,所以我认为两个系统在替代生态系统都有它们自己对的和自己的关注地方。

这里有很多社区都围绕着NServiceBus,所以如果你需要帮助,这里有很多人可以帮助你解决问题。
意思就是说,MassTransit的核心团队一直非常擅长帮助提那些问题的人解决他们的问题。

在 NServiceBus,公司可以购买技术支持这种技术支持保证在世界范围内和24x7小时内能得到答复。我不相信MassTransit的团队也能提供相似的服务。

在线下,NServiceBus在世界各地有很多公共课程可以得到。也有很多顾问在现场去安装一个项目或者参与协助遇到的问题。我已经听到几个公司都决定从MassTransit迁移到NServiceBus
原因是MassTransit不能在他们需要技术支持的时候提供一个人在现场提供支持。

我想说的是,NServiceBus的许可模式可以足够灵活的去适应任何预算,在大部分的客户频谱上显示,这样对管理也合乎情理。当然,对于MassTransit,许可是免费的。
希望这些话对你有帮助。


原文:http://stackoverflow.com/questions/13647423/nservicebus-vs-masstransit

I'm struggling with a pros and cons list regarding NServiceBus and MassTransit.

Now I know there is already a thread in here, but it doesn't really answer my questions.

Here is what I've read so far:

  1. NServiceBus, yes it's licensed and it doesn't come for free.
  2. MassTransit, yes it's open source, but the documentation seems to lack somewhat.

NServiceBus is older, and has more references. It's hard to find stuff about MassTransit, but I'm open-minded. However I have to deliver a solid solution, and so I have to ask.

So please, someone with experience with both frameworks. Why should I choose NServiceBus? OR Why should I choose MassTransit?

Is it performance, security, scale or?


If I had to summarize, here's what I'd say:

If you need commercial support, go for NServiceBus. If you're comfortable with using forums as a means of support, MassTransit is a great option. The developers have been very responsive to our issues so far. If you choose MassTransit, now you will choose between MSMQ and RabbitMQ. If you need DTC go with MSMQ. If you want more features and better administration, go with RabbitMQ.

On our project, we switched from NServiceBus to MassTransit for two reasons:

  1. MassTransit is free
  2. We love RabbitMQ

I've used both frameworks. I've used MassTransit longer than NServiceBus. Here are the highlights as I see them.

Cost:

  • MassTransit is Apache 2.0 licensed and free for commercial production use, whereas NServiceBus is not.

Support:

  • As Udi mentioned, there is an option for commercial NServiceBus support, I haven't seen that for MassTransit.

Transport:

  • MassTransit supports MSMQ and RabbitMQ
  • NServiceBus supports only MSMQ RabbitMQ is supported in NServiceBus 4+

RabbitMQ vs MSMQ:

  • MSMQ support DTC (distributed transaction coordinator) for transactions involving multiple processes on potentially multiple machines (e.g. SQL server, Windows Service)
  • RabbitMQ has an excellent Administration interface
  • MSMQ has been around longer and is a Microsoft product
  • RabbitMQ is newer, open source, free, and sponsored by VMWare
  • MSMQ is installed on most Windows machines by default

Udi Dahan and the MassTransit guys (Chris Patterson, Dru Sellers, and Travis Smith) are all brilliant people.


As the original author of NServiceBus, I'm clearly biased towards my own technology, so I'll try to keep this as balanced as I can.

Update: There are now monitoring and debugging tools available for NServiceBus through theParticular Service Platform which make building and running message-based systems much easier. With full technical integrity, I believe that this strongly tips the balance in favor of NServiceBus. End Update

While in the early days I did track much of the MassTransit development, I haven't had much time to do that recently, so I'll assume that both technologies are equally good in their own right and focus on the ecosystem instead.

There is a larger community around NServiceBus, so if you need help, there are more people who can give it. That being said, the core group of MassTransit have always been extremely good at helping anyone who has issues.

With NServiceBus, companies can purchase support and get guaranteed response times on their issues - 24x7, around the world. I don't believe a similar offering is available from the MassTransit guys.

From an offline perspective, there are public courses available around the world on NServiceBus as well as many consultants who can be brought on-site to kickstart a project or to assist in case of problems. I've heard from several companies that decided to switch from MassTransit to NServiceBus because they couldn't get someone on-site when they needed it.

I'd say that the licensing models around NServiceBus are flexible enough to suit any budget, as the broad spectrum of customers indicates, and can be well justified to management. Of course, with MassTransit, the licensing is free.

Hope that helps in some way.

NServiceBus VS MassTransit 从 stackoverflow.com 翻译而来,希望对这两个技术比较关心的同学有帮助的更多相关文章

  1. StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?

    StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...

  2. 20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx EF 6 Code-First ...

  3. [翻译]Orchard如何工作

    Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...

  4. WebForms VS. MVC(翻译)

    (本文翻译自CodeProject上阿三写的一篇文章,原文地址:http://www.codeproject.com/Articles/528117/WebForms-vs-MVC,讲了有关ASP.A ...

  5. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  6. Oracle 12.1.0.2 New Feature翻译学习【In-Memory column store内存列存储】【原创】

    翻译没有追求信达雅,不是为了学英语翻译,是为了快速了解新特性,如有语义理解错误可以指正.欢迎加微信12735770或QQ12735770探讨oracle技术问题:) In-Memory Column ...

  7. 【翻译】ASP.NET MVC 5属性路由(转)

    转载链接:http://www.cnblogs.com/thestartdream/p/4246533.html 原文链接:http://blogs.msdn.com/b/webdev/archive ...

  8. Inkpad中文翻译已合并到官方项目

    今天 Steve Sprang 已合并了#100提交请求,Inkpad即将在AppStore上发布简体中文版了! 20天前因一个偶然原因启动翻译的: 当晚(周六)我想对iPad上的矢量绘图软件进行交互 ...

  9. 【翻译】CEDEC2014 CAPCOM 照相机正确的照片真实的制作工作流

     这次带来的翻译是Capcom在CEDEC2014上发表的技术美术相关的资料.资料的目的,就是在已经拥有了一套基于物理的渲染引擎的前提下,如何进行图片真实的材料的拍摄并制作为引擎里的材质,以及如何正确 ...

随机推荐

  1. iis 发布asp.net mvc 网站时候js css 压缩问题,图片不加载问题

    一.JS CSS 自动压缩问题 默认情况下mvc这个框架会把css,js文件压缩成一个js或者css文件,一会发现只有一个<link href="/Content/css?v=ji3n ...

  2. 《MVC+EF》——用DBFirst创建ADO.NET实体数据模型和对象关系映射

    转载于:http://blog.csdn.net/zhoukun1008/article/details/50528145 现在越来越喜欢MVC了,不光是因为ITOO中用到了他,而是因为它里面包含了很 ...

  3. MySQL C API 访问 MySQL 示例

    代码: /* Simple C program that connects to MySQL Database server */ #include <mysql.h> #include ...

  4. python第四十三课——封装性

    1.面向对象的三大特性:封装性.继承性.多态性 封装: 封装使用的领悟: 1).生活层面:食品.快递.计算机.明星... 2).计算机层面: ①.模块.类.函数... ②.属性数据的封装与隐藏 权限修 ...

  5. 10行代码爬取全国所有A股/港股/新三板上市公司信息

    摘要: 我们平常在浏览网页中会遇到一些表格型的数据信息,除了表格本身体现的内容以外,可能还想透过表格背后再挖掘些有意思或者有价值的信息.这时,可用python爬虫来实现.本文采用pandas库中的re ...

  6. BZOJ2460:[BJWC2011]元素(贪心,线性基)

    Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力越 ...

  7. WCF简单实例--用Winform启动和引用

    以订票为例简单应用wcf程序,需要的朋友可以参考下 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IService1.cs定义服务契约 namesp ...

  8. 洛谷 P1144 最短路计数

    传送门:https://www.luogu.org/problemnew/show/P1144 这虽然是一道普及+的题,然而我发现我现在还没做过,这也就直接导致我今天模拟T2只杠了个暴力分…… 那这道 ...

  9. Integer、String、StringBuffer、StringBuilder

    Integer Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性. 构造方法: Integer类提供了两种构造方法:它们都会返回一个I ...

  10. MetaMask/zero-client

    https://github.com/MetaMask/zero-client MetaMask ZeroClient and backing iframe service architecture ...