[ASP.net教程]NServiceBus VS MassTransit 从 stackoverflow.com 翻译而来，希望对这两个技术比较关心的同学有帮助
- 1、MassTransit 是 免费的
MassTransit 是 Apache 2.0许可的可以免费用于商业产品，然而NServiceBus不是。
MassTransit 支持 MSMQ和RabbitMQ。
RabbitMQ 和 MSMQ的比较：
MSMQ 支持 DTC(分布式事务调度)包括多进程可能在多台计算机上运行的事务集合(e.g.SQL Server,Windows Service)
Udi Dahan 和 MassTransit 团队的成员们(Chris Patterson, Dru Sellers, and Travis Smith) 都是杰出的人才
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.
- MassTransit is Apache 2.0 licensed and free for commercial production use, whereas NServiceBus is not.
- As Udi mentioned, there is an option for commercial NServiceBus support, I haven't seen that for MassTransit.
- 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.