MSMQ в ферме серверов - PullRequest
       65

MSMQ в ферме серверов

2 голосов
/ 12 августа 2011

Мы рассматриваем возможность использования MSMQ в качестве службы обработки сообщений в нашем приложении.Что нам нужно, так это MSMQ в ферме серверов, расположенных позади Network Load Balancer (NLB), которая распределяет нагрузку между узлами.У меня есть следующие вопросы, по которым я не смог найти никаких указателей онлайн.

1) Нужно ли устанавливать MSMQ на всех узлах?
2) Если это так, когда приложение отправителя отправляет сообщение в MSMQ, должно ли оно отправляться на все узлы?
3) Если ответна мой второй вопрос - да, тогда, когда клиентское приложение получает сообщение, как другие узлы должны быть уведомлены о получении сообщения клиентом и впоследствии удалены из него?

Буду признателен за любую помощь / указатели.

1 Ответ

4 голосов
/ 12 августа 2011

Вот некоторые сообщения в блоге, которые могут помочь:

Q1) Нужно ли устанавливать MSMQ на всех узлах?
A1) Вам необходимо установить MSMQ на каждом сервере, чтобы сообщение также доставлялось.

Q2) Если это так, когда приложение отправителя отправляет сообщение в MSMQ, должно ли оно отправляться на все узлы?
A2) Это один из способов балансировки нагрузки, когда вы отправляете X-сообщения на X-узлы, но читаете только с 1-го узла, отбрасывая другие копии.
Другой метод заключается в отправке на балансировщик сетевой нагрузки, который отправляет одно сообщение одному случайно выбранному узлу, хотя MSMQ очень липкий, поэтому очень трудно / невозможно таким образом сбалансировать загрузку больших объемов.

В3) Если ответ на мой второй вопрос положительный, то когда клиентское приложение получает сообщение, как другие узлы должны быть уведомлены о получении сообщения клиентом и впоследствии удалены из него?
A3) Это обратная сторона предложенного типа балансировки нагрузки. MSMQ не удалит сообщение, если только ваше приложение не удалит его или не истечет таймер TimeToBeReceived. в основном, вам нужно иметь скоординированные клиентские приложения, если вам нужно избежать обработки дублирующихся сообщений.

Приветствия
Джон Брейквелл

...