Specific advantages of NServiceBus over plain RabbitMQ

xrcsblue picture xrcsblue · Mar 4, 2012 · Viewed 10.6k times · Source

Are there any advantages of using NServiceBus over simply using the .net driver for RabbitMQ (assuming we can replace MSMQ with AMQP). Does NSB provide any additional functionality or abstractions that are not available directly in AMQP.

Answer

mookid8000 picture mookid8000 · Mar 5, 2012

Main advantages include (but are not limited to):

  • Takes care of serialization/deserialization of messages.
  • Provides a neat model for dispatching messages w. handlers, polymorphic dispatch, arranging handlers in a pipeline etc.
  • Handles unit of work.
  • Provides a neat saga implementation.
  • Gives you a host process that can be F5-debugged as well as installed as a Windows service.

These are things, that you'd need to roll yourself, if you were to use the RabbitMQ .NET client directly - unless, of course, you don't need any of these things.

Oh, and if you use MSMQ instead of RabbitMQ, you can get all these things in a broker-less model :)