6

I need a reliable messaging solution. It looks like RabbitMQ would address the needs of my application. However, my environment is not well suited to deploying Erlang and Mnesia on a server. It is an enterprise environment and it is a huge battle of red tape to get "non-standard" pieces like that deployed. I would prefer to find a reliable messaging framework similar to RabbitMQ, but built on .NET. Storing messages in Oracle and/or SQL Server would be a bonus. Anything like that out there?

I'm aware of NServiceBus, but I don't think this is focused on reliable messaging as much as RabbitMQ is.

RationalGeek
  • 9,425
  • 11
  • 62
  • 90
  • `I'm aware of NServiceBus, but I don't think this is focused on reliable messaging as much as RabbitMQ is` What makes you say that? – jgauffin May 10 '11 at 12:57
  • Ehh...my own (quite possibly limited) understanding of NServiceBus. If you'd like to correct me, go for it. Perhaps I'm misunderstanding what NServiceBus is trying to do. – RationalGeek May 10 '11 at 12:59

4 Answers4

3

Take a look at ZeroMQ

bniwredyc
  • 8,649
  • 1
  • 39
  • 52
3

How about good old msmq? It's standard component on windows server systems, has WCF bindings... so I guess this is exactly what you are looking for. Though, afaik it has its own filesystem-based message storage, and doesn't support sql server or oracle for that purpose.

driushkin
  • 3,531
  • 1
  • 24
  • 25
  • MSMQ, from what I understand, is a mechanism for persisting messages, but it doesn't have any kind of service layer for orchestrating between message publishers and subscribers or anything like that. I would prefer not to write all that myself. But if I were, the persistence layer would quite possibly be MSMQ. – RationalGeek May 10 '11 at 13:10
  • Which is why Microsoft created WCF. – Hans Passant May 10 '11 at 13:16
  • I will have to research using WCF with MSMQ. Thanks for the info. – RationalGeek May 10 '11 at 13:32
2

I would use NServiceBus (you already mentioned) or MassTransit - both use MSMQ.

Both are focussed on reliable messaging, and have been known to be used in many critical applications.

Simon Bartlett
  • 2,010
  • 14
  • 15
0

There is also ActiveMQ. It's geared more for Java, but you can get it working in .NET, I have a large ActiveMQ deployment all using C#, but I do plan to convert it to RabbitMQ.

Kelly
  • 6,992
  • 12
  • 59
  • 76
  • 1
    ActiveMQ is no longer being actively developed since the vendor has created ZeroMQ. For inhouse use, ZeroMQ is a great solution since no server needs to be installed. In fact, any functionality that you might want from a server, can be programmed in one of your applications using ZeroMQ, so you have the ultimate in flexibility and it is easy to build and to support. – Michael Dillon May 31 '11 at 04:47
  • @Michael Dillon Thanks never heard of ZeroMQ before. I'll have to look into it. – Kelly Jun 27 '11 at 16:54