Solved

Distributed MSMQ Messaging

Posted on 2009-05-14
11
1,449 Views
Last Modified: 2013-12-17
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.
0
Comment
Question by:sevzas
  • 6
  • 5
11 Comments
 
LVL 37

Expert Comment

by:gregoryyoung
Comment Utility
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
 

Author Comment

by:sevzas
Comment Utility
actually I need the pub/sub - don't really need a queue
0
 
LVL 37

Expert Comment

by:gregoryyoung
Comment Utility
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
 

Author Comment

by:sevzas
Comment Utility
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
 
LVL 37

Expert Comment

by:gregoryyoung
Comment Utility
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 37

Expert Comment

by:gregoryyoung
Comment Utility
btw: with service buses and pub/sub you usually don't think about "queues"
0
 

Author Comment

by:sevzas
Comment Utility
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
 
LVL 37

Expert Comment

by:gregoryyoung
Comment Utility
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
 

Author Comment

by:sevzas
Comment Utility
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
 
LVL 37

Accepted Solution

by:
gregoryyoung earned 500 total points
Comment Utility
it writes directly to the other office.

Greg
0
 

Author Comment

by:sevzas
Comment Utility
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

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

I annotated my article on ransomware somewhat extensively, but I keep adding new references and wanted to put a link to the reference library.  Despite all the reference tools I have on hand, it was not easy to find a way to do this easily. I finall…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
The viewer will learn how to set up a document for the web and print and the recommended PPI for printing.
The viewer will learn how to create multiple layers to apply various filters and how to delete areas from each layer’s filter.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now