Biztalk - как я настраиваю выравнивание нагрузки MSMQ и высокую доступность?

Из того, что я понимаю для достижения выравнивания нагрузки MSMQ, нужно использовать технологию, такую как NLB.

И для достижения высокой доступности MSMQ, нужно кластеризировать связанный Хост Biztalk (и следовательно базовые серверы должны быть в кластере сами).

Все же, согласно документации Microsoft, NLB и технологии Отказоустойчивой кластеризации не совместимы. См. эту ссылку для ссылки: http://support.microsoft.com/kb/235305

Кто-либо может объяснить мне, как выравнивание нагрузки MSMQ и высокая доступность могут быть достигнуты?

заранее спасибо,

M

1
задан FullOfQuestions 27 April 2010 в 20:54
поделиться

1 ответ

Я отредактировал свой исходный ответ, потому что, поразмыслив, я думаю, что несу чушь.

Я не верю, что в транзакционном сценарии BizTalk возможно достичь как балансировки нагрузки, так и высокой доступности. Ознакомьтесь с разделом «Рекомендации по миграции при переходе с адаптера MSMQ / T на MSMQ в BizTalk 2006» на следующем сайте http: //blogs.msdn.com / eldarm /

Подводя итог этой публикации, есть несколько сценариев:

Высокая доступность (нетранзакционная)

У вас просто MSMQ на нескольких серверах BizTalk за NLB

Высокая доступность ( Transactional)

Для этого вам нужен кластерный хост MSMQ, что означает, что вы не можете выполнять какую-либо балансировку нагрузки для одной очереди.

Одно из возможных промежуточных решений - создать два адаптера MSMQ на разных узлах кластера, каждый из которых обрабатывает разные очереди. Хотя для меня это звучит не слишком хорошо.

Ключевым моментом является понимание причин, по которым вам нужно транзакционное, кластерное поведение - это необходимо для упорядоченной доставки и для гарантии отсутствия дубликатов.


В общем, я бы не стал беспокоиться о балансировке нагрузки MSMQ - сам BizTalk балансирует нагрузку, как только сообщения достигают базы данных MessageBox. Хотя это правда, что вы увидите асимметричную нагрузку из-за обработки очереди, происходящей на одном компьютере, в общем контексте вашей среды BizTalk это не должно быть значительным.

Опять же, стоит помнить, что вы кластеризуете MSMQ по причинам, выходящим за рамки простой высокой доступности:

Адаптер получения MSMQ обработчик - MSMQ не поддерживает удаленное транзакционное чтение; поддерживаются только локальные транзакционные чтения . Обработчик получения адаптера MSMQ должен запускаться в экземпляре узла, который является локальным для кластеризованной службы MSMQ, чтобы завершить локальное транзакционное чтение {{1} } с адаптером MSMQ.

Это было со следующей страницы MSDN .

Надеюсь, этот отредактированный ответ поможет - я не думаю, что это было то, что вам нужно, может быть, я ошибаюсь, и вы найдете работоспособное решение для NLB и транзакционного MSMQ, но чем больше я думаю об этом, тем больше кажется, что эти два сценария несовместимы.

И напоследок подумайте, что вы можете попробовать опубликовать аналогичный вопрос о сбое сервера - у вас есть несколько разработчиков BizTalk на Stack Overflow, в том числе как минимум два MVP, но, по крайней мере, там, где я работаю, это именно тот вопрос, который я бы перейдем к моей сетевой команде.

2
ответ дан 3 September 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: