Баланс загрузки WCF и доля удаленный MSMQ для высокой пропускной способности

После тонны чтения в книгах и в сети, я заметил подсказки информации, что WCF и MSMQ могут использоваться в достижении высокой пропускной способности. Информация я видел, что упоминания используют несколько сервисов WCF в ферме, которая читает из единственной очереди MSMQ. Проблема состоит в том, что я нашел абзацы тут и там, который упоминает, что высокая пропускная способность может быть сделана, но я, может казаться, не нахожу документ того, как реализовать ее. Следующее является выборкой из статьи MSDN.

Следующим параграфом является от Лучших практик для Коммуникации С очередями http://msdn.microsoft.com/en-us/library/ms731093.aspx Для достижения более высокой пропускной способности и доступности, используйте ферму сервисов WCF, которые читают из очереди. Это требует, чтобы все эти сервисы выставили тот же контракт на той же конечной точке. Подход фермы работает лучше всего на приложения, которые имеют высокую производительность сообщений, потому что он включает много сервисов ко всему чтению от той же очереди.

Это - то, что я пытаюсь решить. У меня есть приложение интранет, где клиент отправляет запрос к сервису WCF. Но я хочу способность загрузиться, балансируют сервисы WCF на несколько серверов в ферме. Я также хочу, чтобы эти сервисы WCF в ферме сделали транзакционные чтения от удаленного MSMQ, когда объект доступен в Очереди. Если это возможно, проблема, которую я имею, - то, что я не понимаю процесс активации WCF для получения сообщений от удаленной очереди.

Если бы это возможно, кто-либо знает о каких-либо статьях или Вебкастах, которые объяснили бы это подробно?

BarDev

6
задан Mike Barlow - BarDev 1 April 2010 в 13:59
поделиться

1 ответ

Я не знаю ни о каких статьях, но в качестве доказательства концепции я запустил несколько экземпляров существующего приложения wcf против msmq.

Произошло то, что если 10 сообщений уже присутствовали в очереди, они обрабатывались только одним экземпляром wcf.

Однако все последующие сообщения, которые были размещены в очереди, были разделены почти поровну между всеми экземплярами wcf, обеспечивая довольно аккуратное решение балансировки нагрузки.

Что вам нужно сделать, так это создать одну службу WCF, работающую с MSMQ, убедиться, что она работает правильно, а затем перейти оттуда, запуская все больше и больше экземпляров службы WCF, чтобы увидеть, что происходит

4
ответ дан 17 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

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