Msmq как включить windows 10

Обновлено: 21.11.2024

Краткий обзор транспорта

Настройка конечной точки

Чтобы использовать MSMQ в качестве базового транспорта:

Преимущества

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

Недостатки

Конфигурация MSMQ

Для работы NServiceBus требуется определенная конфигурация MSMQ.

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

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

Эти компоненты могут вызвать проблемы с адресацией, используемой в NServiceBus.

Установка на Windows Server 2012 и выше

В мастере добавления ролей и компонентов диспетчера серверов включите сервер очереди сообщений. Все остальные параметры MSMQ должны быть отключены.

Эквивалент командной строки DISM:

Установка в Windows 10

На панели управления выберите «Программы». Затем запустите Мастер компонентов Windows, щелкнув Включить или отключить компоненты Windows. Включить Microsoft Message Queue (MSMQ) Server Core. Все остальные параметры MSMQ должны быть отключены.

Эквивалент командной строки DISM:

Ограничение имени машины MSMQ

Для правильной работы MSMQ имя сервера должно содержать не более 15 символов. Это связано с ограничением NETBIOS.

Кластеризация MSMQ

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

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

Удаленные очереди

Удаленные очереди не поддерживаются для MSMQ, так как это противоречит архитектурному стилю распределенной шины, основанному на принципах надежности, автономности и избегания единой точки отказа. В сценариях, где требуется архитектура типа брокера, используйте транспорты, такие как SQL Server и RabbitMQ.

Настройка очереди ошибок

Транспорт требует, чтобы все конечные точки настроили адрес очереди ошибок. Централизованная очередь ошибок рекомендуется для рабочих сценариев.

Дополнительные сведения о настройке адреса очереди ошибок см. в документации по возможности восстановления.

Общие очереди

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

Разрешения

< /tr>< td>Отправить
ГруппаРазрешенияПредоставлено NServiceBusПредоставлено Windows 2012+
Владелец учетной записиОтправка, получение, просмотрВсе версииРежим домена и рабочей группы
АдминистраторыПолнаяВсе версииНет
Анонимно ОтправитьВерсии 6.0.x и нижеРежим рабочей группы
ВсеВерсии 6.0.x и нижеРежим рабочей группы

В NServiceBus версии 6.1.0 и выше установщики NServiceBus не будут автоматически предоставлять разрешения группе Anonymous и Everyone. Установщик будет учитывать существующие разрешения очереди, которые были настроены для очереди конечной точки. Разрешения, предоставляемые группам Anonymous и Everyone, основаны на стандартном поведении Windows.

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

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

Режим домена

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

Режим рабочей группы

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

Известные имена групп и права доступа к очередям

Перечисление WellKnownSidType используется для получения имен групп.

Разрешения MSMQ определяются в перечислении MessageQueueAccessRights.

Чтобы повысить безопасность и еще больше заблокировать разрешения на отправку и получение MSMQ, удалите «Все» и «Анонимные» и предоставьте определенные разрешения подмножеству учетных записей, которым они нужны.

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

Пример регистрируемого предупреждения:

ПРЕДУПРЕЖДЕНИЕ NServiceBus.QueuePermissions — Очередь [private$\xxxx] выполняется с параметром [Everyone] с правами доступа, установленными на [GenericWrite]. Рассмотрите возможность установки соответствующих разрешений, если этого требует организация. Для получения дополнительной информации обратитесь к документации.

Координатор распределенных транзакций

NServiceBus использует координатора распределенных транзакций Майкрософт (MSDTC) для синхронизации транзакций между MSMQ и базой данных для обеспечения гарантированной однократной доставки сообщений. Чтобы это работало, необходимо запустить и правильно настроить MSDTC. Это можно сделать вручную или с помощью модуля PowerShell NServiceBus.

В качестве альтернативы доступен режим работы _non-MSDTC. В этом режиме NServiceBus использует исходящие, хранилище сообщений, поддерживаемое той же базой данных, что и пользовательский код, для временного хранения сообщений, которые должны быть отправлены в результате обработки входящего сообщения. Чтобы узнать больше об этой теме, см. Исходящие.

Если ни MSDTC, ни исходящие сообщения не настроены, при запуске конечной точки с поддержкой MSMQ появится сообщение об исключении:

Потребность в зрелых технологиях резко возрастает, и все больше внимания уделяется созданию современной, надежной и масштабируемой архитектуры не только для отдельных технологий, но и для их взаимодействия друг с другом. Microsoft Message Queuing (MSMQ) — один из самых простых и продвинутых методов, помогающих технологиям вашего бизнеса взаимодействовать и соединяться друг с другом.

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

Шаг 1. Откройте панель управления Windows. Выберите программу, а затем выберите программы и функции.

Шаг 2. Выберите «Включить или отключить функции Windows». Затем выберите «Сервер очереди сообщений Microsoft (MSMQ)».

Шаг 3. Нажмите на строку поиска на панели задач и найдите «Управление компьютером».

Шаг 4. Разверните параметр "службы и приложения". Затем разверните «Очередь сообщений».

Давайте рассмотрим это в перспективе

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

Быстрая и простая установка

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

Прочитайте эту статью и узнайте, как использовать Microsoft Message Queue Server при использовании WEBfactory 2010.

Настройка сервера очереди сообщений Microsoft (MSMQ)

Выполните следующие шаги, чтобы включить сервер очереди сообщений Microsoft (MSMQ) на вашем компьютере:

Откройте панель управления (меню «Пуск» > «Панель управления») и откройте окно «Программы и компоненты» («Программы» > «Программы и компоненты»). Нажмите на ссылку «Включить или отключить функции Windows» на левой панели окна «Программы и компоненты».

Кроме того, вы можете просто ввести компоненты Windows в поле поиска в меню "Пуск", после чего будет предоставлен ярлык "Включить или отключить функции Windows".

Окно "Программы и компоненты"

В диалоговом окне "Компоненты Windows" выберите узел "Сервер Microsoft Message Queue (MSMQ)" и все его подкомпоненты.

Добавление функции сервера Microsoft Message Queue (MSMQ)

Нажмите OK для подтверждения. Дождитесь завершения операции.

Создание очереди сообщений

Выполните следующие шаги, чтобы узнать, как создать личную или общедоступную очередь сообщений:

Откройте окно «Управление компьютером», щелкнув правой кнопкой мыши компьютер в меню «Пуск» и выбрав «Управление», или введя управление компьютером в поле поиска меню «Пуск» и используя предоставленный ярлык.

В окне «Управление компьютером» разверните узел «Службы и приложения» на левой панели. Там будет доступна очередь сообщений.

Очередь сообщений в управлении компьютером

Чтобы создать новую очередь, щелкните правой кнопкой мыши нужную папку очереди (общедоступные очереди или частные очереди) и выберите "Создать" > "Общая/частная очередь" .

Создание новой общей очереди

В диалоговом окне "Новая общая/частная очередь" введите имя очереди в текстовое поле "Имя очереди". Нажмите OK для подтверждения.

Диалоговое окно "Новая общая/частная очередь"

Новая очередь теперь доступна в соответствующей папке: «Общие очереди» или «Частные очереди».

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

Инструкции по удалению различаются в зависимости от операционной системы и подробно описаны ниже.

Прежде чем продолжить

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

  • Все существующие очереди и информация о конфигурации очередей удаляются
  • Все сообщения, содержащиеся в этой очереди, и системная очередь недоставленных сообщений (DLQ) удаляются

Зависимые службы

Службы в Microsoft Windows можно настроить так, чтобы они зависели друг от друга. Перед удалением MSMQ убедитесь, что никакие службы не зависят от MSMQ. Для этого

  • Загрузите службы оснастки MMC для служб Windows. мск,
  • Щелкните правой кнопкой мыши очередь сообщений в списке служб.
  • Проверьте вкладку "Зависимости" в окне, чтобы увидеть, существуют ли какие-либо зависимости.

В качестве альтернативы это можно сделать из PowerShell с помощью следующей команды:

Инструкции по удалению

Интерактивное удаление

Windows 2012/Windows 2016

  • Открыть диспетчер серверов
  • В меню "Управление" нажмите "Удалить роли и функции".
  • Откроется мастер удаления ролей и компонентов.
  • Нажимайте кнопку "Далее", пока не появится параметр "Функции".
  • Прокрутите вниз, снимите флажок "Очередь сообщений" и нажмите "Далее".
  • Нажмите кнопку «Удалить», чтобы завершить удаление.

Для вступления изменений в силу может потребоваться перезагрузка.

Windows 8/Windows 10

  • Откройте параметр «Программы» на панели управления.
  • В разделе "Программы и компоненты" нажмите "Включение или отключение компонентов Windows".
  • Прокрутите вниз и снимите флажок "Сервер очереди сообщений Microsoft (MSMQ)", а затем нажмите "ОК".

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

Удаление с помощью DISM.exe

ДИСМ. exe — это инструмент командной строки, который Microsoft предоставляет для включения и отключения функций Windows, таких как подсистема MSMQ, в Windows и Windows Server.

ДИСМ. exe требует прав администратора, поэтому все перечисленные команды следует запускать из командной строки администратора.

Чтобы перечислить включенные функции MSMQ:

Вывод будет примерно таким:

Чтобы отключить функцию, выполните следующие действия:

После удаления функции перезагрузите систему, чтобы изменения вступили в силу.

Удаление из командной строки PowerShell

Windows 8 и более поздние версии и Windows Server 2012 и более поздние версии поставляются с модулем PowerShell для управления установленными функциями, который дублирует функции командной строки DISM.exe.

Следующий сценарий PowerShell использует модуль DISM для удаления любых функций MSMQ из системы.

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

Читайте также: