Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Митряев лекции / РИС гр.446зс 2015 / РИС.Л.5. гр.445 (2015).docx
Скачиваний:
192
Добавлен:
25.03.2016
Размер:
345.87 Кб
Скачать

Применение службы сообщений msmq в распределенных системах

Рассмотрим возможности, предоставляемые службой MSMQ как промежуточным программным обеспечением с точки зрения требований, предъявляемых к распределенной системе:

1. Открытость. Требование выполняется частично: используя в качестве сообщения XML-документ с заданной XSD-схемой, можно добиться открытости передаваемых данных. Однако сама технология MSMQ является закрытой и одноплатформенной.

2. Безопасность. MSMQ поддерживает обычные для Windows NT списки управлением доступа (ACL) для каждой очереди, а при наличии домена AD – прозрачное шифрование сообщений. Таким образом, система, использующая MSMQ, может являться безопасной при развертывании в пределах домена Active Directory.

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

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

4. Обеспечение целостности данных. MSMQ поддерживает внутренние транзакции, распределенные транзакции среды COM+ и транзакции из System.Transactions.

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

Транзакции среды COM+ и пространства имен System.Transactions используют координатор распределенных транзакций (MS DTC).

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

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

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

Таким образом, с точки зрения требований к распределенной системе технология MSMQ обладает многочисленными достоинствами.

Однако данная технология промежуточного ПО также имеет ряд важных недостатков:

– необходимость явного использования очередей распределенным приложением;

- сложность реализации синхронного обмена.

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

Если же компонента получает некоторые ответы в асинхронном режиме (модель «запрос-ответ»), то она должна поддерживать собственный список ожидающих ответов заявок. Это означает наличие у компоненты некоторого внутреннего состояния, которое должно сохраняться в течение длительного времени. Наличие такого состояния является недостатком с точки зрения концепции распределенной системы как набора сервисов, не сохраняющих историю своих вызовов.

С точки зрения этой концепции использующая MSMQ компонента: