Comments on: Scaling Out Subscribers With MassTransit https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/ **ARCHIVED** A Blog Loosely Related to System Architecture by David Prothero **ARCHIVED** Mon, 04 May 2020 08:03:00 +0000 hourly 1 https://wordpress.org/?v=5.8.6 By: Rebecca Powell https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-297 Mon, 04 May 2020 08:03:00 +0000 http://looselycoupledlabs.com/?p=150#comment-297 I’m really confused by this line:

If we use our current example code, however, we will get duplicate messages because each machine is connecting to localhost for its RabbitMQ instance.

Assuming we have two app servers and one RMQ server, and both competing consumers are connecting to the same queue name on the single RMQ server, why do we need a cluster?

]]>
By: Niklas Gåfvels https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-60 Tue, 01 Sep 2015 10:08:00 +0000 http://looselycoupledlabs.com/?p=150#comment-60 I don’t thing that you have to connect to the same RabbitMQ instance when using competing consumers. The two subscriber processes can be connected to different RabbitMQ instances in the cluster using the same queue name.

]]>
By: Faisal Nadeem https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-36 Sun, 11 Jan 2015 16:24:00 +0000 http://looselycoupledlabs.com/?p=150#comment-36 In reply to dprothero.

Thanks David, actually i have setup the health services with help of your post “RabbirMQ Monitoring”.

]]>
By: dprothero https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-35 Sun, 11 Jan 2015 13:56:00 +0000 http://looselycoupledlabs.com/?p=150#comment-35 In reply to Faisal Nadeem.

Again, I haven’t used any of MT’s runtime services, including the health service. Personally, I use Nagios for infrastructure monitoring (http://www.nagios.org/). Perhaps more important than the health of an individual node is the health of your queues. Take a look at http://looselycoupledlabs.com/2014/08/monitoring-rabbitmq/ for how to keep an eye on your queues. For services, I usually setup in Nagios what are called “passive checks”… Nagios doesn’t actively ping the services, but expects the services to “report in” on a set interval.

You could roll your own simple variation of this. Have each note report in to a database to say “I’m still alive as of this timestamp” and then write a centralized script or program that monitors that database for stale report times (the assumption being if a report time is over X minutes old, then the node is having problems).

Good luck!

]]>
By: Faisal Nadeem https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-34 Sun, 11 Jan 2015 07:41:00 +0000 http://looselycoupledlabs.com/?p=150#comment-34 In reply to dprothero.

Thanks David. Actually i need to check nodes health and show to client. For that i was using Health Services, and Health Services can only be used with Runtime Services (Subscription Services).

Any idea how can i store nodes health in database?

]]>
By: dprothero https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-33 Sun, 11 Jan 2015 05:21:00 +0000 http://looselycoupledlabs.com/?p=150#comment-33 In reply to Faisal Nadeem.

Runtime Services are only necessary for MSMQ. I do not have any experience using MassTransit with MSMQ. When using RabbitMQ, there’s no need for the Runtime Services because RabbitMQ handles all of the subscription persistence for you. Also, FYI, MSMQ support is being dropped in MassTransit 3.

]]>
By: Faisal Nadeem https://looselycoupledlabs.com/2014/08/scaling-out-subscribers-with-masstransit/#comment-32 Sun, 11 Jan 2015 00:16:00 +0000 http://looselycoupledlabs.com/?p=150#comment-32 Great tutorial David, it helped me a lot.

Though i have one question about Runtime Services.

My Runtime Services are also running on “submaster”, how can i use credientials for this server while using Subscription Service from Publisher.
When i call UseSubscriptionService, how can i authenticate?

]]>