Alternatives to NServiceBus that doesn't use MSMQ
Asked Answered
S

7

10

I think the title sums it all .... We have a .NET 2.0 system trying to implement a distributed pub/ sub model. I came across NServiceBus, RhinoBus and MassTransit. Unfortunately, these are MSMQ based. I am tasked to figure out pub/ sub alternatives that uses a different messaging alternatives ...

the only reason for seeking MSMQ alternatives is to overcome the message size restriction. Since our enterprise app messages can potentially get truncated due to per message restriction...

any guidance is much appreciated

Spin answered 26/9, 2009 at 5:3 Comment(1)
MassTransit supports RabbitMQ and AzureServiceBus.Upraise
F
6

Heh, old question, but worth mentioning that NServiceBus is now supporting ActiveMQ (as one alternatives) with others in development. There has also been talk of implementing a "Data Bus" to overcome the message size limitation, but I don't know the status of this.

The infrastructure is in place to plug in different transports, and I recall seeing discussions about utilizing Sql Server Service Broker, though I don't know if that was ever taken beyond initial discussions.

Fusco answered 5/11, 2010 at 17:46 Comment(0)
I
2

There is a Roadmap for NServiceBus that states they intend to offer a more pluggable transport to allow alternatives to MSMQ.

MassTransit also suggest they are aiming to support alternatives.

Unfortunatley none of these are there yet.

Inclement answered 26/9, 2009 at 21:29 Comment(0)
L
1

Old question but worth provinding an up to date answer. For those developing enterprise level applications, Windows Azure Service Bus has really come a long ways since its inception and it is worth taking a close look at for anybody interested in implementing a pub/sub model. Here are some highlights of Windows Azure Service Bus...

  • Includes a Windows Azure Tools SDK for .Net which makes development very easy in any .Net language.

  • There is an Explorer Tool which is a GUI interface that provides ease of managing and testing your queues. One version is built right into Visual Studio and another is a stand-alone application.

  • Contains three messaging models

    • Relay - Designed to communicate between on-premise applications and cloud applications
    • Pub/Sub - Known as "Topics" in Azure, it provides the publish/subscribe model of messaging.
    • Brokers Messaging - decoupled messaging where the sender and reciever do not have to be online at the same time.
  • Supports transactional behavior (guarateeed delivery of messages)

  • Best of all, Microsoft sees a future in cloud computing so this will only get better.

  • The biggest disadvantage of this technology is that Windows Azure is designed for large scale enterprise environments and therefore is very expensive.

Here is a good web site that provides much more details about the latest capabilities of Windows Azure Service Bus

BTW: I am not affiliated with Micrsoft in any manner. I just come from a background of using NServiceBus and found it very easy to transition to Windows Azure Service Bus as the models are similar.

Lalia answered 11/9, 2012 at 4:10 Comment(0)
P
0

If you have the budget for it you can always use Biztalk.

If you want to do something more interesting you could use Microsoft Azure Service Bus http://www.microsoft.com/azure/servicebus.mspx

You could use SQL service broker http://msdn.microsoft.com/en-us/library/ms345108(SQL.90).aspx . Not sure if there was a plan to discontinue this finctionality.

Or it you want the simplest thing that works, use a sql table :)

Pensile answered 30/9, 2009 at 14:3 Comment(5)
Your suggestions seem radical; NServiceBus is advertised as a platform to synchronize and/or load InProc cache between servers. Check out Udi Dahan's blogs. Azure and BizTalk are inter-system messaging platforms; aka EDI and the former makes a roundtrip to Microsoft ... :) MSMQ is not a scalable and reliable enterprise solution. It's great for small packet movements but not enterprise scale data. Challenges vary from primary disk fragmentation that affects OS, OS locks to message truncation. SQLCE is an option but has shown to be a performance bottleneck for InProc activities.Spin
Yes, I agree it was a bit radical, just meant to give you an idea of the full scope of options. If you are looking at SQLCE, are you working on mobil devices? If so take a look at Microsoft Sync Framework msdn.microsoft.com/en-us/sync/default.aspxPensile
@G33kKahuna: "MSMQ is not a scalable and reliable enterprise solution" - why do you think that? Can you point me in the right direction to something that indicates what its limits are? I'm currently evaluating whether or not MSMQ is suitable for a project and it would be good to know more about this.Snyder
G33kKahuna - NServiceBus is not only about that. See the NServiceBus.com site. I would disagree that MSMQ cannot be made to scale, as I've done it, and it is very reliable (depending on the reliability of the IO you put under it).Dunn
Could you please answer #9483786 ?Kali
E
-1

I use a couple of database tables for this.

Entellus answered 28/9, 2009 at 18:42 Comment(2)
Sure it does. I use database tables as persistent queues to avoid having to use MSMQ. It works very well even with multiple readers and writers. Database transactions provide concurrency control. They also provide persistence in case of system crashes.Entellus
I'd have to agree. We ripped out a BizTalk implementation from a major retailer and replaced it with I think three SQL Server tables. Simpler and cheaper. Obviously they weren't using BizTalk for all of it's functionality.Waxwing
G
-1

If you are OK with a "broker" type approach I am currently looking at http://wso2.com/products/enterprise-service-bus/ ??

Gourley answered 22/11, 2009 at 22:14 Comment(0)
P
-2

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!

Ptyalin answered 29/6, 2011 at 6:48 Comment(1)
Be careful answering with identical answers; in these two specific cases, it seems just on the safe side of the line, but don't go overboard. Answers should address the individual questions. Thanks!Matrilineage

© 2022 - 2024 — McMap. All rights reserved.