Distributed MSMQ Messaging

I'm looking for a robust messaging solution for a small enterprise.

I've looked at MSMQ, Nservicebus, SimpleServiceBus, ActiveMQ

I've waded through all of the MS documentation on MSMQ and I'm still left with a question - what are my options if I want to exchange messages between two offices?  The two offices are connected, but I want each office to have an MSMQ "server" and to have the MSMQ server in one office forward messages to the other MSMQ server.  Does adding NServiceBus or SimpleServiceBus (both use MSMQ as a transport) change anything?

So in essence I want to link 2 MSMQ servers and I don't want to use ActiveDirectory.
sevzasAsked:
Who is Participating?
 
gregoryyoungConnect With a Mentor Commented:
it writes directly to the other office.

Greg
0
 
gregoryyoungCommented:
do you only need a queue or do you need other things. from the sounds of it you can do what you want with only MSMQ

nservicebus and simpleservicebus build pub/subscribe architectures over MSMQ.

the answer to that question will take you most of the way in getting through this.

Cheers,

Greg
0
 
sevzasAuthor Commented:
actually I need the pub/sub - don't really need a queue
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
gregoryyoungCommented:
then look at nservicebus or look at rhino's service bus.

rhino is more out of the box, nservicebus is more of a framework to throw together your own bus. Another y'ungun you might want to check out is masstransit.

Cheers,

Greg
0
 
sevzasAuthor Commented:
Actually looked at Rhino - it's not really prod-ready.  I also looked at Masstransit and Spread Messaging toolkit also.

I like NServiceBus and SimpleSerivceBus (except for the fast that they require .net 3.5 / MSVS 2008 which we are not using yet)

With NServiceBus and SimpleSerivceBus I don't really understand how I can get the multi-office functionality since the underlying transport (MSMQ) does not really support forwarding.
0
 
gregoryyoungCommented:
I think it may be good for you to go through the exact scenario that you want ...

it sounds to me like you want nservicebus running on 2 sites is that correct?

Do the two sites share subscription information?

Greg
0
 
gregoryyoungCommented:
btw: with service buses and pub/sub you usually don't think about "queues"
0
 
sevzasAuthor Commented:
I have clients in two offices and I want one "bus" that connects all of the clients for pub/sub and possibly for async process-to-process send/receive.

Agree with your comment about queues, but since NServceBus is built on top of MSMQ, I believe I am subject to all of MSMQ's limitations and dependencies.  For example, without ActiveDirectory MSMQ can have only "Private" queues.
0
 
gregoryyoungCommented:
nservicebus is not only built on top of MSMQ msmq is just 1 transport.

As an example there is also TCP/UDP transports.



What i am not understanding is this fixation upon queues ... I say Bus.Dispatch() ... It looks up in the subscriber directory what that means and does it. That may be a queue at site 2 ... or it could be a HTTP put to a server on my network.

Cheers,

Greg
0
 
sevzasAuthor Commented:
So MSMQ is the transport for nservicebus - I think we agree on that.

nservicebus is not really "built on top" of msmq.

I believe that MSMQ is required to run nservicebus.  If I'm correct, nservicebus's limitations are driven by MSMQ's limitations.  If you're asserting that I can have nservicebus run in 2 offices and talk to each other without MSMQ talking to ActiveDirectory, then I'll be happy to invest some time in getting this to run.

I just don't fully understand the nature of nservicebus or how it can be configured to forward messages from one office to another.
0
 
sevzasAuthor Commented:
In the end I went with ActiveMQ + NMS.  Fairly easy to get it to work plus I like the power and flexibility of ActiveMQ plus it's basically an open system that will support any technology we might use down the line.

I was disappointed to find that NServiceBus had virtually no useful documentation.  I don't feel like going through code to figure out how to make something work.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.