Re: [masstransit-discuss] Local client queues

41 views
Skip to first unread message

Dru Sellers

unread,
May 7, 2013, 9:30:20 AM5/7/13
to masstrans...@googlegroups.com
True, you will probably want to improve your HA strategy beyond just the app servers. 

I would start with reading up on RabbitMQ HA strategies here:

Then its all about choosing the right approach for yourself. Most likely MT will support the setup you need.

Ultimately any time you have RabbitMQ on another server you have, at a minimum, a network hop that could fail. You can go to lengths and either install rabbitmq locally, or write to some local storage then have another process pick up the messages and move them on. The more critical the data, the more I expect you will have to invest in it. 

I am interested to hear about which strategy you end up taking with RabbitMQ, and I know that there are people on the list that have better advice than me on this issue. :)

-d



On Tue, May 7, 2013 at 4:43 AM, Brendan Fry <bf...@fryhard.com> wrote:
Hi all,

I am new to MassTransit, so while I find my feet you may be hearing a lot from me.

My colleague Joao already asked for your help, but I am hoping for some more.

We are looking at implementing a service bus solution to help process visits to our websites. The (current) plan is to allow each site to publish a visit onto the bus. These visit messages are then subscribed to by numerous processors, who produce different outputs.
  • Subscriber 1 - storage
  • Subscriber 2 - slow processing 
  • Subscriber 3 - minimal processing for "instant" reporting.
To further complicate matters our Web servers and App Servers run on separate machines and can be separated by a load balancer (should needs be).

Our setup is as follows:

Web   Web   Web
  |          |         |
   Load Balancer
   |                 |
 App            App

Based on previous advice we have set up a cluster or Rabbit MQ on the two App servers, which seems to be working great.

We are currently publishing messages from each web server to the highly available rabbit Q on the App server, which also seems to be working fine.

My question is, what happens if both App servers go down? Or are not reachable from a Web server client. We can not allow our Visit message to be lost. Based on investigations it seems like NServiceBus handles this by forcing a queue onto each client. In our case the Web servers. This client queue is then able to reliably store all messages until the can be delivered to the App servers' queue.

Is it advisable to set up Rabbit and MassTransit in a similar fashion? Is this even possible? :) If so please help and share your experience.

Thanks
Brendan 


--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/masstransit-discuss/-/BMm4TkFb3JQJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages