Разработка распределенных приложений в Microsoft.NET Framework


Служба обмена сообщениями MSMQ


В настоящий момент существует несколько основных разработок в области промежуточного программного обеспечения для работы с очередями сообщений. Наиболее известными разработками являются такие системы очередей сообщений, как MSMQ, Sun Java System Message Queue, IBM MQSeries, Oracle Advanced Queing. Промежуточная среда MSMQ – разработка Microsoft для асинхронной передачи сообщений внутри локальной сети, впервые появившаяся в составе операционной системы Windows NT. В настоящее время последней является версия MSMQ 3.0, включенная в Windows XP PE и 2003 Server, достаточно актуальна так же версия 2.0, включенная в состав операционной системы Windows 2000.

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

  • добавить сообщение в очередь;
  • извлечь первое сообщение из очереди;
  • установить обработчик, вызываемый при появлении сообщения.

Структура сообщения определяется приложением, и может быть произвольной, с ограничением на размер одного сообщения (2Мб для MSMQ 2.0). Далее будет рассмотрено использование MSMQ 2.0/3.0 при разработке приложений с использованием .NET Framework.

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

  • сообщение доставляется сразу в указанную отправителем очередь (прямая доставка);
  • сообщение посылается в некоторую промежуточную очередь, определяемую маршрутизатором службы сообщений;
  • MSMQ определяет, что сообщение требуется разослать в несколько очередей (возможность поддерживается начиная с MSMQ 3.0).

Пересылка сообщения в промежуточной среде MSMQ

Рис. 5.1.  Пересылка сообщения в промежуточной среде MSMQ

После определения имени компьютера с очередью назначения, MSMQ проверяет доступность компьютера (пакетом UDP) и в случае ответа сразу пытается отправить ему сообщение, повторяя попытки с интервалом по умолчанию 5 секунд.


Начало    Вперед



Книжный магазин