Установка системы очередей сообщений (MSMQ) — WCF
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
В процедурах ниже показана методика установки очереди сообщений 4. 0 и очереди сообщений 3.0.
Примечание
служба очереди сообщений 4,0 недоступна в Windows XP и Windows Server 2003.
Установка Message Queuing 4.0 в Windows Server 2008 или Windows Server 2008 R2
В диспетчер сервера щелкните компоненты.
В области справа в разделе Сводка компонентовщелкните Добавить компоненты.
В открывшемся окне разверните очередь сообщений.
Разверните узел службы очередей сообщений.
Щелкните Интеграция служб каталогов (для компьютеров, присоединенных к домену), а затем щелкните Поддержка HTTP.
Нажмите кнопку Далее, а затем — установить.
Установка очереди сообщений 4.0 в Windows 7 или Windows Vista
Откройте Панель управления.
щелкните программы , а затем в разделе программы и компонентыщелкните включить или отключить компоненты Windows.
Разверните сервер очереди сообщений Microsoft (MSMQ), разверните ядро сервера очереди сообщений Microsoft (MSMQ) и затем отметьте флажками установку следующих возможностей очереди сообщений:
Нажмите кнопку ОК.
Если появится запрос на перезагрузку компьютера, нажмите кнопку ОК , чтобы завершить установку.
Установка Message Queuing 3.0 в Windows XP или Windows Server 2003
Откройте Панель управления.
щелкните add remove programs , а затем щелкните add Windows components.
Выберите очередь сообщений и щелкните сведения.
Примечание
если вы используете Windows server 2003, выберите сервер приложений для доступа к очереди сообщений.
Удостоверьтесь, что на странице сведений выбрана функция поддержки MSMQ HTTP.
Нажмите кнопку ОК , чтобы закрыть страницу сведения, а затем нажмите кнопку Далее. Выполните установку.
Если появится запрос на перезагрузку компьютера, нажмите кнопку ОК , чтобы завершить установку.
.NET и C# | Обзор Message Queuing
97
C# и .NET — Сетевое программирование — Обзор Message Queuing
В пространстве имен System.Messaging определены классы, которые позволяют выполнять чтение и запись сообщений с использованием такого предлагаемого в составе операционной системы Windows средства для организации сообщений, как Message Queuing.
Обмен сообщениями может применяться в сценарии автономной работы, в котором не требуется, чтобы клиент и сервер обязательно запускались в одно и то же время.
Прежде чем углубляться в детали программирования с использованием Message Queuing, в данной статье я предлагаю ознакомиться с основными концепциями организации очередей сообщений и сравнить их с концепциями синхронного и асинхронного программирования.
При синхронном программировании, когда вызывается метод, то вызвавший его код должен ожидать, пока метод не завершит свою работу. При асинхронном программировании вызывающий поток запускает метод и параллельно продолжает свою работу. Асинхронное программирование основано на применении делегатов, библиотек классов, которые уже поддерживают асинхронные методы (например, прокси-классы веб-служб и классы из пространств System.Net и System.IO), либо специальных потоков. Как при синхронном, так и при асинхронном программировании клиент и сервер должны работать в одно и то же время.
Хотя Message Queuing работает асинхронно, поскольку клиент (отправитель) не ожидает прочтения получателем (сервером) оправленных ему данных, между Message Queuing и асинхронным программированием существует принципиальная разница: Message Queuing может выполняться в автономной (отключенной) среде. На момент отправки данных их получатель может быть отключен. Позднее, когда получатель подключится, он получит данные без вмешательства отправляющего приложения.
Подключенное и отключенное программирование можно сравнить с разговором по телефону и отправкой почтовых сообщений. При разговоре с кем-либо по телефону оба участника должны быть подключены одновременно — это синхронная коммуникация. В случае обмена электронной почтой отправитель не знает, когда его послание будет прочитано. Люди, использующие эту технологию, работают в автономном (отключенном) режиме.
Конечно, может случиться так, что почта не будет прочитана никогда, а просто проигнорирована. Такова природа отключенных коммуникаций. Чтобы избежать этой проблемы, можно запросить ответ или подтверждение факта прочтения письма. Если ответ не придет в течение определенного времени, возможно, придется как-то справляться с таким «исключением». Все это также возможно в Message Queuing.
Message Queuing, по сути, можно считать технологией для обмена электронными сообщениями между приложениями, а не людьми. Она обладает множеством функциональных возможностей, которые в других службах обмена сообщениями не доступны: гарантированием доставки, применением транзакций, получением подтверждений, экспресс-режимом, использующим память, и т.
С помощью Message Queuing можно отправлять, принимать и маршрутизировать сообщения в подключенной и отключенной (автономной) среде. На рисунке ниже показан очень простой способ использования сообщений. Отправитель посылает сообщения в очередь сообщений, а получатель принимает их из этой очереди:
Когда следует использовать Message Queuing
Одной из ситуаций, в которых удобно применять Message Queuing — это когда клиентское приложение часто отключается от сети (например, у коммивояжера, навещающего заказчиков на местах). Коммивояжер может вводить данные заказа непосредственно у заказчика. Приложение ставит сообщение о каждом заказе в очередь сообщений, находящуюся на клиентской системе. Как только коммивояжер возвращается в свой офис, заказ автоматически передается из очереди сообщений клиентской системы в очередь сообщений целевой системы, где и обрабатывается.
Помимо портативного компьютера, коммивояжер может использовать устройство Pocket Windows, где также доступно Message Queuing.
Технология Message Queuing может быть полезна и в подключенной среде. Представьте сайт электронной коммерции (показан на рисунке ниже), где в определенные периоды времени сервер полностью загружен обработкой заказов, например, в ранний вечер и в выходные, при этом по ночам нагрузка значительно уменьшается. Решение проблемы может состоять в приобретении более быстрого сервера или в добавлении дополнительных серверов к системе, чтобы они справлялись с пиковыми нагрузками.
Однако существует более дешевое решение: сгладить пиковые нагрузки, сдвинув транзакции со времени максимальных нагрузок на время с низкой загрузкой. В такой схеме заказы отправляются в очередь сообщений, а принимающая сторона читает их тогда, когда это удобно системе базы данных. Таким образом, нагрузка на систему сглаживается по времени, так что сервер, обрабатывающий транзакции, может быть дешевле и не требовать модернизации:
Функциональные возможности Message Queuing
Технология Message Queuing является службой, которая поставляется как часть операционной системы Windows. Ниже перечислены ее основные функциональные возможности:
Сообщения могут пересылаться в автономной среде. То есть приложению-отправителю и приложению-получателю вовсе не обязательно выполняться в одно и то же время.
В экспресс-режиме сообщения могут пересылаться очень быстро. В экспресс-режиме сообщения просто сохраняются в памяти.
Для механизма восстановления сообщения могут отправляться с гарантированной доставкой. Такие сообщения сохраняются в файлах и доставляются даже в случае перезагрузки сервера.
Очереди сообщений могут защищаться с применением списков контроля доступа и указания в них, каким пользователям разрешено отправлять или получать сообщения из очереди. Кроме того, сообщения могут шифроваться для исключения вероятности их прочтения с помощью сетевых анализаторов пакетов, а также снабжаться приоритетами, чтобы те из них, которые имеют более высокий приоритет, обрабатывались быстрее.
В Message Queuing 3. 0 поддерживается возможность отправки многоадресных (multicast) сообщений.
Например, в случае, если после прочтения сообщения из обычной очереди, далее оно должно вставляться в базу данных, но по какой-то причине этого не происходит, это сообщение может быть отправлено в очередь вредоносных сообщений. Впоследствии этой очередью вредоносных сообщений должен кто-нибудь заняться и выяснить, по какой причине адрес сообщения не удалось преобразовать.
В Message Queuing 5.0 поддерживаются более безопасные алгоритмы аутентификации, и может обрабатываться большее количество очередей. (В Message Queuing 4.0 при обработке нескольких тысяч очередей начинали возникать проблемы с производительностью.)
Из-за того, что Message Queuing является частью операционной системы, установить версию Message Queuing 5.
0 в системе Windows XP или Windows Server 2003 не получится. Эта версия входит в состав ОС Windows Server 2008 R2 и Windows 7.Продукты Message Queuing
Версия Message Queuing 5.0 поставляется в составе Windows 7 и Windows Server 2008 R2. В Windows 2000 входила версия Message Queuing 2.0, в которой не было поддержки ни протокола HTTP, ни многоадресных сообщений. Версия Message Queuing 3.0 поставлялась в составе Windows XP и Windows Server 2003, а версия Message Queuing 4.0 — в составе Windows Vista и Windows Server 2003.
При использовании ссылки Turn Windows Features on or off (Включение или отключение компонентов Windows), которая предлагается в Windows 7 в окне Configuring Programs and Features (Программы и компоненты), можно обнаружить отдельный раздел с опциями, касающимися Message Queuing:
В этом разделе доступны для выбора перечисленные ниже компоненты:
Основные компоненты сервера очереди сообщений (MSMQ), которые необходимы для получения базовой функциональности Message Queuing.
- Active Directory Domain Services Integration
Интеграция MSMQ доменных служб Active Directory. Это средство позволяет записывать имена очередей сообщений в Active Directory. С помощью этой опции можно находить очереди в Active Directory и защищать их на основе пользователей и групп пользователей Windows.
- MSMQ HTTP Support
Поддержка протокола HTTP MSMQ. Поддержка MSMQ HTTP позволяет отправлять и принимать сообщения, используя протокол HTTP.
- Triggers
С помощью триггеров создаются экземпляры приложений при поступлении нового сообщения.
- Multicast Support
Поддержка многоадресной рассылки. Позволяет отправлять сообщения группам серверов.
- MSMQ DCOM Proxy
С помощью DCOM-прокси система может подключаться к удаленному серверу, используя API-интерфейс DCOM.
После установки Message Queuing в системе должна быть обязательно запущена служба Message Queuing (показана на рисунке). Эта служба читает и записывает сообщения, а также взаимодействует с другими серверами Message Queuing для осуществления маршрутизации сообщений по сети:
Установка очереди сообщений (MSMQ) — WCF
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
В следующих процедурах показано, как установить очередь сообщений 4.0 и очередь сообщений 3.0.
Примечание
Очередь сообщений 4.0 недоступна в Windows XP и Windows Server 2003.
Для установки очереди сообщений 4.0 на Windows Server 2008 или Windows Server 2008 R2
В диспетчере серверов щелкните Компоненты .
На правой панели под Сводка функций щелкните Добавить функции .
В появившемся окне разверните Очередь сообщений .
Разверните Службы очереди сообщений .
Нажмите Интеграция служб каталогов (для компьютеров, присоединенных к домену), затем щелкните Поддержка HTTP .
Нажмите Далее , затем нажмите Установить .
Для установки очереди сообщений 4.0 в Windows 7 или Windows Vista
Откройте Панель управления .
Щелкните Программы , а затем в разделе Программы и компоненты щелкните Включение и отключение компонентов Windows .
Разверните узел Microsoft Message Queue (MSMQ) Server, разверните Microsoft Message Queue (MSMQ) Server Core, а затем установите флажки для следующих компонентов очереди сообщений для установки:
Нажмите OK .
Если вам будет предложено перезагрузить компьютер, нажмите OK , чтобы завершить установку.
Для установки очереди сообщений 3.0 в Windows XP и Windows Server 2003
Открыть Панель управления .
Нажмите Добавить и удалить программы , а затем нажмите Добавить компоненты Windows .
Выберите «Очередь сообщений» и щелкните «Подробно» .
Примечание
Если вы используете Windows Server 2003, выберите Application Server для доступа к очереди сообщений.
Убедитесь, что на странице сведений выбран параметр Поддержка MSMQ HTTP.
Нажмите OK , чтобы закрыть страницу сведений, а затем нажмите Далее . Завершите установку.
Если вам будет предложено перезагрузить компьютер, нажмите OK , чтобы завершить установку.
Как включить сервер очереди сообщений в 64-разрядной среде
Обсудить (0) История
Распечатать
В любой 64-разрядной среде пользователю потребуется включить службу очереди сообщений Microsoft, чтобы CAREWare работала должным образом. Если он не включен, то пользователи столкнутся со следующей ошибкой:
Источник: jProgBusiness — на этом компьютере не установлена очередь сообщений. в System.Messaging.Interop.SafeNativeMethods.MQPathNameToFormatName (String pathName, StringBuilder formatName, Int32& count) в System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath (String queuePath, логическое исключение throwException) в System. Messaging.MessageQueue.Exists (строковый путь) в jProgBusiness.jBusiness.jURNEncryption.GetEURN(String urn) в jProgBusiness.jBusiness.jURNEncryption.EncryptURN(String URN) at jProgBusiness.jBusiness.jBusinessClient.ClientAdd(String GUIDToken, jClientAdd NewClientAdd, jBusinessShared BusinessShared, Boolean ignoreURN, String importHL7ProviderPK, логическое значение skipClientPresearch) at jProgBusiness.jBusiness.jBusinessClient.ClientAdd(String GUIDToken, jClientAdd NewClientAdd, Boolean skipClientPresearch, String доментоимпортто) at jProgBusiness.jBusiness.jBusinessRemote.CLN_Client_Add (String SessionToken, jClientAdd NewClientAdd, логическое значение skipClientPresearch, Строка domainToImportToPK) Произошла ошибка при добавлении нового клиента в центральную базу данных. В настоящее время вы не сможете добавить клиента в центральную базу данных.
Чтобы установить очередь сообщений на Windows Server 2012 или 2016
- Откройте Server Manager .
- Нажмите Добавить роли и функции .
- Щелкните Тип установки .
- Нажмите Установка на основе ролей или компонентов .
- Щелкните Далее .
- Нажмите Функции.
- Развернуть Очередь сообщений .
- Нажмите Сервер очереди сообщений .
- Щелкните Интеграция службы каталогов .
- Нажмите Поддержка HTTP .
- Щелкните Далее .
- Нажмите Установить .
Установка очереди сообщений в Windows Server 2008 или Windows Server 2008 R2
- В диспетчере серверов щелкните Компоненты.
- На правой панели в разделе «Сводка компонентов» нажмите «Добавить компоненты».
- В появившемся окне разверните Очередь сообщений.
- Развернуть службы очереди сообщений.
- Щелкните Интеграция служб каталогов (для компьютеров, присоединенных к домену), затем щелкните Поддержка HTTP.
- Нажмите «Далее», затем нажмите «Установить».
Для установки очереди сообщений Windows 7 или Windows Vista
- Откройте панель управления.
- Нажмите «Программы», а затем в разделе «Программы и компоненты» нажмите «Включение и отключение компонентов Windows».
- Разверните узел Microsoft Message Queue (MSMQ) Server, разверните узел Microsoft Message Queue (MSMQ) Server Core, а затем установите флажки для следующих компонентов очереди сообщений, которые необходимо установить:
* MSMQ Интеграция доменных служб Active Directory (для компьютеров, присоединенных к домену).
* Поддержка HTTP MSMQ.
- Нажмите OK.
- Если вам будет предложено перезагрузить компьютер, нажмите OK, чтобы завершить установку.
Очередь сообщений также можно включить с помощью Powershell, выполнив следующие действия:
- Введите Powershell в поле поиска.
- Щелкните правой кнопкой мыши Powershell .
- Нажмите Запуск от имени администратора .
Чтобы просмотреть функции очереди сообщений:
- Вставьте эту команду: Get-WindowsOptionalFeature –Online | ? FeatureName -match «msmq» | выберите FeatureName
- Нажмите Введите .
Чтобы включить функцию очереди сообщений:
- Вставьте эту команду: Enable-WindowsOptionalFeature -Online -FeatureName MSMQ-Container -All
- Нажмите Введите .
- Вставьте эту команду: Enable-WindowsOptionalFeature -Online -FeatureName MSMQ-Server -All
- Нажмите Введите .
- Вставьте эту команду: Enable-WindowsOptionalFeature -Online -FeatureName «MSMQ-HTTP» -All
- Нажмите Введите .
- Вставьте эту команду: Enable-WindowsOptionalFeature -Online -FeatureName MSMQ-ADIntegration -All
- Нажмите Введите .