NServiceBus VS MassTransit 从 stackoverflow.com 翻译而来,希望对这两个技术比较关心的同学有帮助
近段时间在看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:
- NServiceBus, yes it's licensed and it doesn't come for free.
- 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:
- MassTransit is free
- 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 翻译而来,希望对这两个技术比较关心的同学有帮助的更多相关文章
- 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 ...
- 20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx EF 6 Code-First ...
- [翻译]Orchard如何工作
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...
- WebForms VS. MVC(翻译)
(本文翻译自CodeProject上阿三写的一篇文章,原文地址:http://www.codeproject.com/Articles/528117/WebForms-vs-MVC,讲了有关ASP.A ...
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章 ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...
- Oracle 12.1.0.2 New Feature翻译学习【In-Memory column store内存列存储】【原创】
翻译没有追求信达雅,不是为了学英语翻译,是为了快速了解新特性,如有语义理解错误可以指正.欢迎加微信12735770或QQ12735770探讨oracle技术问题:) In-Memory Column ...
- 【翻译】ASP.NET MVC 5属性路由(转)
转载链接:http://www.cnblogs.com/thestartdream/p/4246533.html 原文链接:http://blogs.msdn.com/b/webdev/archive ...
- Inkpad中文翻译已合并到官方项目
今天 Steve Sprang 已合并了#100提交请求,Inkpad即将在AppStore上发布简体中文版了! 20天前因一个偶然原因启动翻译的: 当晚(周六)我想对iPad上的矢量绘图软件进行交互 ...
- 【翻译】CEDEC2014 CAPCOM 照相机正确的照片真实的制作工作流
这次带来的翻译是Capcom在CEDEC2014上发表的技术美术相关的资料.资料的目的,就是在已经拥有了一套基于物理的渲染引擎的前提下,如何进行图片真实的材料的拍摄并制作为引擎里的材质,以及如何正确 ...
随机推荐
- Chained Declustering
此论文描述了在无共享架构的多处理器机器上的数据库系统的数据冗余分布方法.该方法提高了系统的可用性,同时在单节点故障的情况下,可以很好的实现负载均衡.以下是论文的一些摘要,详细可以参见论文原 ...
- Azure 门户中基于角色的访问控制入门
面向安全的公司应侧重于向员工提供他们所需的确切权限. 权限过多,可能会向攻击者公开帐户. 权限太少意味着员工无法有效地完成其工作. Azure 基于角色的访问控制 (RBAC) 可通过为 Azure ...
- mySQL 约束 (Constraints)
约束用于限制加入表的数据的类型: 1.创建表时规定约束(通过 CREATE TABLE 语句) 2.表创建之后也可以(通过 ALTER TABLE 语句). 约束类型: NOT NULL(非空) UN ...
- 一道经典面试题-----setTimeout(function(){},0)
一道经典面试题-----setTimeout(function(){},0) 转载: http://www.w3cfuns.com/notes/17398/e8a1ce8f863e8b5abb5300 ...
- 将Vue-cli搭建的项目改造成多页面应用时对项目结构和配置的调整
创建项目 首先初始化一个Vue项目模板,之后在模板下载时候会弹出如下配置选项 vue init webpack demo 配置好后按下回车就构建完成了Vue脚手架,之后cd进入项目,并且进行node模 ...
- Android Studio快捷键——编辑篇
Android Studio是官方推出的Android开发IDE,本系列讲解Android Studio中常用的快捷键,本文是该系列的第一篇,讲解的内容是与编辑代码相关的快捷键. 本文所讲快捷键基于A ...
- C#创建无窗体的应用程序
示例程序 这是初学C#时困惑了很久才解决的问题,突然想起来拿出来和大家分享. 当初我是这样做的: 1. 在窗体初始化时(构造函数里面),添加一句This.Visible = false; 2 ...
- java 计算百分数方法
俗话说好记性不如烂笔头,故记之. DecimalFormat decimalFormat = new DecimalFormat("##.00%"); System.out.pri ...
- MacOS 快速搭建Odoo开发环境
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9307325.html 一:安装PostgreSQL 下载并安装PostgreSQL数据库:http://do ...
- tomcat 使用 cronolog 切割日志
1. 下载 cronolog 软件 wget http://cronolog.org/download/cronolog-1.6.2.tar.gz cronolog-.tar.gz tar zxvf ...