2014-01-23 5 views
0

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

Допустим, у меня есть:

  1. одной очереди на сервере-A с много сообщений, поступающих в
  2. Один службы WCF с NetMsmq обязательным для чтения сервера-B от сервера очереди-A
  3. The то же самое WCF-служба, развернутая на другой сервер-C с тем же самым обязательным чтением из очереди Server-A

Я уверен, что службы на серверах -B и Server-C никогда не будут обрабатывать одни и те же сообщения е?

Есть ли еще проблемы с этой настройкой, о которых нужно позаботиться?

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

Спасибо за ваше время!

ответ

1

Вам необходимо сделать транзакцию в очереди, а затем установить свойство exactOnce на привязку к true.

Ссылка: http://msdn.microsoft.com/en-us/library/system.servicemodel.msmqbindingbase.exactlyonce(v=vs.110).aspx

Это должно заботиться о нем. Из одной очереди можно считывать несколько считывателей (служб WCF). Это принципиально концепция выравнивания нагрузки и является целью обмена сообщениями на основе очереди. Вот некоторая справочная документация по WCF и MSMQ.

http://msdn.microsoft.com/en-us/library/ms789048(v=vs.110).aspx

+0

Спасибо за ваш ответ. Я не вижу, как это поможет, предоставленная документация (ваша ссылка) ничего не говорит о нескольких читателях в одной очереди и не говорит ничего о очередях и сервисах на разных машинах? – jonnep

+0

Я только что обновил свой ответ, чтобы дать более подробную информацию. –

Смежные вопросы