.net service bus recommendations?

C#.NetDistributedMessagingServicebus

C# Problem Overview


We are in need of a distributed architecture messaging system/service bus with the capability of Publish/Subscribe. Does anyone have any reccomendations for a framework that we can use for .net applications?

C# Solutions


Solution 1 - C#

NServiceBus is growing in popularity. It is open source as well. Here is a Hanselminutes episode with Scott Hanselman talking with Udi Dahan about NServiceBus to help grok it. You should definitely evaluate using it.

UPDATE: There's also a DNR TV episode which shows what it's like to build an NServiceBus solution from scratch here: http://www.dnrtv.com/default.aspx?showNum=199

Solution 2 - C#

Check out masstransit and rhino service bus too. Both open source and written by very smart people.

Solution 3 - C#

Check out RabbitMQ. The .NET client is full-featured, and it's pretty easy to use. There's a book called RabbitMQ in Action, as well as RabbitMQ in Depth that's available in early access editions.

Solution 4 - C#

I found ActiveMQ integrated into Apache NMS to be incredibly easy to understand, set up and transparent.

For example, ActiveMQ comes with a web frontend allowing you to use a web browser to look into message queues, and read, delete, and even create messages. So you can very easily start to develop and test only one side of your distributed application, and debugging and monitoring is very straight-forward.

Solution 5 - C#

I'm currently working on an open source WCF based service bus. You can find it here: http://rockbus.codeplex.com/. It supports dynamic (@run-time) subscriptions, subcription repository (database), pluggable transports, XPath based content-based routing, transactional delivery over wcf protocols, roundrobin delivery, pluggable subscription evaluation, and more. Have a look!

Solution 6 - C#

There is no mature Service Bus implementation in .NET stack so far. Microsoft currently is developing one.

http://msdn.microsoft.com/en-us/library/windowsazure/jj193022(v=azure.10).aspx

As an option you can use one from Java world. For instance, TIBCO - they have pretty robust .NET clients avilable, or OpenMQ.

If you don't need a wide range of features and ready to develop your own system - use WCF for this. WCF callbacks are well suitable for this.

Solution 7 - C#

I've found Neuron ESB to be a solid implementation, although I haven't used it in anger yet.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChris KookenView Question on Stackoverflow
Solution 1 - C#Dale RaganView Answer on Stackoverflow
Solution 2 - C#Andrew JonesView Answer on Stackoverflow
Solution 3 - C#TrueWillView Answer on Stackoverflow
Solution 4 - C#realMarkusSchmidtView Answer on Stackoverflow
Solution 5 - C#BramView Answer on Stackoverflow
Solution 6 - C#Vitaliy LiptchinskyView Answer on Stackoverflow
Solution 7 - C#DuncanView Answer on Stackoverflow