Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does MassTransit offer on top of Azure Service Bus?

I'm trying to determine whether I need too use MassTransit on top of Azure Service Bus or just use ASB directly. I'm not planning on using the advanced features like saga's or middleware, but need a simple ESB that supports both command and pub/sub style messaging.

The MassTransit documention on selecting a transport is still in development. Looking at the ASB documentation it seems Azure is offering more than just a transport.

I don't have experience using other ESB's so I'm not sure what features I'll be needing exactly.

I'm looking for some guidance on why I should use one or the other. More concrete: what must-have (if any) features does MassTransit offer over just ASB alone?

like image 836
Robert Massa Avatar asked Mar 03 '17 09:03

Robert Massa


1 Answers

The documentation article describes what MassTransit adds to (any) transport.

I will paste some bullet points here:

The benefits of using MassTransit over the message transport, as opposed to using the raw transport APIs and building everything from scratch, are shown below. These are just a few, and some are more significant than others. The fact that the hosting of your consumers, handlers, sagas, etc. are all managed consistently with a well documented production ready framework is the biggest advantage.

  • Concurrency
  • Connection management
  • Exception, retries, and poison messages
  • Serialization
  • Message header and correlation
  • Consumer lifecycle management
  • Type-based routing
  • Rx integration (observables)
  • Unit testing made easy (test harness)
  • Sagas and routing slip
  • Scheduling
  • Monitoring performance counters

Essentially, with just a few lines of code, when using MassTransit you can create a distributed system very fast and easy, avoiding diving into the transport mechanics and all the boilerplate code involved, plus you get retries, exception handling, routing, sagas and so on.

like image 112
Alexey Zimarev Avatar answered Dec 25 '22 22:12

Alexey Zimarev