Преимущества использования MS Queue - PullRequest
4 голосов
/ 06 октября 2010

Как использование MSMQ может помочь с масштабируемостью и надежностью?В сценарии с одного веб-сервера на один сервер баз данных это вообще помогает?

Будем весьма благодарны за любые комментарии или ссылки.Спасибо

РЕДАКТИРОВАТЬ: веб-сервер будет работать WCF, предоставляя веб-методы в стиле SOAP.Существует также вероятность того, что в будущем может быть несколько веб-серверов.

Ответы [ 3 ]

2 голосов
/ 06 октября 2010

Очереди (особенно отказоустойчивые и постоянные очереди) обеспечивают связь между компонентами и, в конечном итоге, позволяют средствам записи очереди быть асинхронными с читателями. Это означает, что читатели и писатели могут быть расширены в зависимости от использования очереди.

Рассмотрим простой пример обслуживания веб-запросов. Если тяжелая операция помещается в очередь, другой набор компонентов может прочитать очередь и обработать запрос без воздействия на программу записи и, таким образом, разрешить слушателю HTTP обслуживать больше запросов, поскольку он не связан. По мере увеличения количества элементов в очереди все больше читателей могут подключаться к ним для обработки.

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

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

1 голос
/ 06 октября 2010

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

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

Всегда приятно читать о CQRS.

0 голосов
/ 06 октября 2010

Да, в сценарии 1 веб / сервер базы данных есть значение, если вам требуется асинхронная обработка и разумная гарантия того, что задачи, помещенные в очередь, будут выполнены. Он не обеспечивает высокую доступность (помимо прочего, сервер, на котором работает MSMQ, может выйти из строя).

Предоставьте подробную информацию о реализации, если вам нужна дополнительная информация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...