Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 276
Jack Andersen Avatar asked Nov 30 '12 14:11

Jack Andersen


1 Answers

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.

like image 86
Clay Avatar answered Sep 22 '22 12:09

Clay