NServiceBus vs Windows ServiceBus
Asked Answered
L

1

48

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
Linkoski answered 17/7, 2012 at 16:37 Comment(3)
Can you provide a link to the new Windows ServiceBus? The only bus I see is the Azure one.Balcke
msdn.microsoft.com/library/jj193022%28Azure.10%29.aspxLinkoski
Looks like microsoft's senior progran manager responded here - social.msdn.microsoft.com/Forums/en-US/servicebuslabs/thread/…. Would be awesome to hear from the NSB team to see why NSB would still be better.Linkoski
B
39

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

Battement answered 19/7, 2012 at 7:23 Comment(4)
1. So in Windows Service Bus, can the client still send messages over its local msmq as in NSB? I understand the subscriptions are strings and not typed but can it still be used in the same way as Bus.Send? So if any crashes, messages are stored in the local queue first? 2. you also mention Windows SB is a good match with NSB and could be used instead of msmq? can you elaborate? may describe a flow as in NSB publishes, then the messages goes over to x...and so onLinkoski
1. No, the queue is not local to the node as is the case with msmq. so the machine will need to have connectivity to the SB server before it can send the message to the queue 2. SB queues provide the durability and transactionality that nservicebus needs to handle messaging, the only thing different from msmq is that the node needs connectivity to work properly.Battement
Re:3 this in my opinion is not correct - why would Windows Service Bus duplicate orchestration functions (long running, correlation etc) if this is the domain of WF , which works with Service Bus?Rubalcava
Long running: answered above. No support for message types: ContentType: msdn.microsoft.com/en-us/library/… No support for correlation: CorrelationId: msdn.microsoft.com/en-us/library/…Expositor

© 2022 - 2024 — McMap. All rights reserved.