Поделиться через


Знакомство с системой обмена сообщениями

Обновлен: Ноябрь 2007

Очереди сообщений Microsoft Windows предоставляют разработчикам приложений легкий, быстрый и надежный способ обмена информацией с приложениями путем обмена сообщениями. Обмен сообщениями обеспечивает гарантированную доставку сообщений и устойчивый, бесперебойный канал для выполнения значительной части бизнес-процессов. Например, имеется приложение, обслуживающее точку розничной торговли, которое должно работать 24 часа в сутки, 7 дней в неделю. В случае отказа базы данных продавцы вынуждены будут обрабатывать заказы вручную. При помощи технологии очередей сообщений систему можно настроить таким образом, чтобы заказы, которые невозможно обработать во время простоя, автоматически заносились в очередь для их последующей обработки после восстановления базы данных.

В Microsoft Visual Studio и Microsoft SDK (пакет средств разработки программного обеспечения) для Windows можно использовать экземпляр компонента MessageQueue для быстрого и легкого подключения к существующим очередям сообщений, изучения их содержания, а также отправки и получения сообщений. Кроме того, можно использовать Обозреватель серверов для просмотра очередей сообщений на любом сервере, к которому имеется соответствующий доступ, с целью получения информации о сообщениях, содержащихся в этих очередях. Добавив очередь из Обозревателя серверов в конструктор компонента, можно автоматически создать компонент, который будет настроен на взаимодействие с этой очередью.

Взаимодействие с очередями сообщений

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

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

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

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

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

  • Безопасность. Технология очередей сообщений, на которой основан компонент MessageQueue, использует систему безопасности Windows для обеспечения управления доступом, аудита, шифрования и проверки подлинности сообщений, отправляемых и получаемых компонентом.

Ограничения

Для работы с компонентами MessageQueue, система должна отвечать следующим требованиям:

  • Для просмотра информации об очередях в Обозревателе серверов и получения доступа к очередям программными средствами на клиентском компьютере должна быть установлена программа очередей сообщений Message Queuing.

    8zax2582.alert_note(ru-ru,VS.90).gifПримечание.

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

  • Система очередей сообщений может работать в доменной среде или в среде рабочей группы. Применительно к очередям сообщений доменная среда — это среда, которая включает контроллеры домена, обеспечивающие работу службы каталогов, например Active Directory, а среда рабочей группы — это любая среда, которая не имеет такой службы.

См. также

Задачи

Практическое руководство. Создание экземпляров компонента MessageQueue

Основные понятия

Сведения об очередях сообщений и о технологии обмена сообщениями