Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NServiceBus vs Windows ServiceBus

Would someone be able to shed some light on the differences between the newly release Windows ServiceBus (on premise, not Azure) and NServiceBus?

Looking for a detailed answer what the windows SB may be missing as I'm familiar what NSErviceBus can do:

  1. Is it a real service bus and not just a message broker that uses queues?
  2. Can it support message polymorphism? (Messages subclassing other messages and handlers supporting this hierarchy
  3. Long running processes and correlation
  4. Scale out
like image 911
TimJohnson Avatar asked Jul 17 '12 16:07

TimJohnson


People also ask

What is NServiceBus used for?

NServiceBus is a commercial messaging framework provided by Particular Software. It's built on top of Azure Service Bus and helps developers focus on business logic by abstracting infrastructure concerns.

What is Service Bus Windows net?

Azure Service Bus is an asynchronous messaging cloud platform that enables you to send data between decoupled systems. Microsoft offers this feature as a service, which means that you don't need to host your own hardware to use it.

What is a Service Bus topic?

Azure Service Bus TopicPublishers send messages to a topic in the same way that they send messages to a queue, but it varies on a slight factor where Topics can have multiple, independent subscriptions. A subscriber to a Topic can receive a copy of each message sent to that Topic.

What is duplicate detection in Azure Service Bus?

When you enable duplicate detection for a queue or topic, Azure Service Bus keeps a history of all messages sent to the queue or topic for a configure amount of time. During that interval, your queue or topic won't store any duplicate messages.


1 Answers

I'm responsible for the Windows Azure ServiceBus support in NServicebus. And in my opinion this new Windows Server Servicebus provides the exact same capabilities as the Azure ServiceBus. So in my opinion it will be a good match with NServiceBus instead of a competitor (just as the Windows Azure ServiceBus is) and could be used instead of msmq.

To answer your questions

  1. The new servicebus is a broker that uses queues
  2. Messages on the servicebus are just strings in the end, the servicebus itself has no additional support for message types, hierarchies, handlers etc. Typically you would use WCF or NServiceBus for this.
  3. There is no support for long running processes nor correlation. It does have some feature overlap with NServiceBus though as it can do subcriptions/topics, it can also do deferral of messages as well as filters.
  4. It's designed to scale out.

Hope this helps?

Kind regards, Yves

like image 198
Yves Goeleven Avatar answered Oct 02 '22 12:10

Yves Goeleven