简体   繁体   中英

Servicebus for Windows Server vs NServicebus vs Mule ESB

I have been looking for a comparison between newly released servicebus for windows server, NServicebus and Mule ESB. Requirement is to develop .NET based real-time data integration solution using publisher/subscriber communication pattern.
Idea is to transfer protobuf serialised data messsages over the servicebus.But, it would be great if any of these support file transfers too as we have varied volumes and various kinds of data sources. I am not sure which one would be a better option to go with.

Really, Azure Service Bus isn't a direct competitor to NServiceBus and Mule ESB. It is closer to a message broker (like ActiveMQ or RabbitMQ) than to an integration platform. It does have a couple of features beyond simple messaging such as web service proxy and some nice mobile push notification support.

Mule ESB is an integration platform, which means you create integration applications by using Mule configuration language and extending Mule programming components using the java platform. You deploy your integration application to a standalone Mule server or to CloudHub (Mulesoft's cloud environment). They also offer a pretty big library of connectors , which simplify integration with various other technologies and SaaS.

I have little experience with NServiceBus, but the documentation shows some of the same features as Mule ESB.

Since you can download both NServiceBus and MuleESB for free to try them, I'd suggest giving them both a whirl to see how they apply to your particular integration problem.

.NET service bus is designed to communicate with Azure and enable devices to do RCP-style calls. It does support pub/sub but the maximum message size is only 64 KB.

NServiceBus is probably the most capable choice in terms of interop. It supports one-way, full-duplex and pub/sub messaging. The maximum message size is 4 MB when using MSMQ for transport, but its data bus can be used to transfer large files. It also has a unique concept of sagas, which are long running processes with a shared state. I have not used the latest tools for it, but traditionally the tooling and integration options were not up to par compared to Java based solutions. Also, the licensing model is complex, and seems to be a subject to change with every release.

There is a Mass Transit free .NET service bus which has most of the NServiceBus features, but is a bit more difficult to use.

[edit] Mule ESB has a free community edition and a commercial version. It is a very mature Java based service bus. It has a lot of tooling and integration options with various products. But I do not think it has sagas. But it does have file transport support.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM