Службу очередей сообщений можно устанавливать на компьютеры под управлением ОС Windows® 7 или Windows Server® 2008 R2. В Windows 7 для установки и удаления службы очередей сообщений используется компонент панели управления Программы и компоненты. В Windows Server 2008 R2 для установки и удаления службы очередей сообщений используется мастер добавления компонентов, доступный в Диспетчере сервера. Дополнительные сведения см. в разделе Установка службы очереди сообщений.
В Windows 7 для управления службой очередей сообщений используется оснастка «Управление компьютером». Служба очереди сообщений расположена в узле «Службы и приложения».
В следующей таблице представлены компоненты службы очереди сообщений.
Компонент (Windows 7/Windows Server 2008 R2)
Описание
Основные компоненты сервера очереди сообщений Майкрософт (MSMQ)/Службы MSMQ
Представляет собой базовую службу, используемую для отправки и получения сообщений.
Интеграция MSMQ с доменными службами Active Directory/Интеграция служб каталогов
Позволяет публиковать свойства очереди в доменных службах Active Directory, стандартную проверку подлинности и шифрование сообщений с использованием сертификатов, зарегистрированных в доменных службах Active Directory, а также маршрутизацию сообщений между сайтами Windows. Для интеграции MSMQ с Active Directory компьютер должен быть членом домена.
Примечание
Включение или отключение этого параметра требует перезагрузки ведомого компьютера.
Поддержка HTTP службой очереди сообщений/Поддержка HTTP
Данная возможность позволяет выполнять пересылку сообщений поверх протокола HTTP. Поддержка протокола HTTP службой MSMQ требует наличия на локальном компьютере служб IIS.
Триггеры MSMQ/Триггеры службы очереди сообщений
Позволяет выполнять вызов COM-компонентов или исполняемых файлов в зависимости от фильтров, установленных для входящих сообщений выбранной очереди.
DCOM-прокси службы MSMQ/Прокси-сервер очереди сообщений DCOM
Эта возможность позволяет приложениям службы очереди сообщений использовать программный интерфейс приложения (API) MSMQ COM для подключения к удаленному серверу службы очереди сообщений.
Поддержка многоадресной рассылки/Поддержка многоадресной рассылки
Разрешает поддержку многоадресной рассылки сообщений на многоадресный IP-адрес и назначение очереди многоадресного IP-адреса.
Этот компонент маршрутизирует сообщения как между различными веб-сайтами, так и в пределах одного веб-сайта.
Примечание
Компонент «Служба маршрутизации» доступен только в Windows Server 2008 R2.
Примечание
Компонент «Поддержка клиента Windows 2000» был удален из службы очереди сообщений 5.0.
Различные версии операционной системы Windows поддерживают различные возможности службы очереди сообщений. В следующей таблице перечислены компоненты, поддерживаемые каждым из выпусков Windows 7 и Windows Server 2008 R2.
Компонент (Windows 7/Windows Server 2008 R2)
Выпуск Windows 7 Начальный
Выпуск Windows 7 Домашний базовый
Выпуск Windows 7 Домашний расширенный
Выпуск Windows 7 Максимальный
Выпуск Windows 7 Профессиональный
Выпуск Windows 7 Корпоративный
Все выпуски Windows Server 2008 R2
Основные компоненты сервера очереди сообщений Майкрософт (MSMQ)/Службы MSMQ
В процедурах ниже показана методика установки очереди сообщений 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
Откройте Панель управления.
Разверните сервер очереди сообщений Microsoft (MSMQ), разверните ядро сервера очереди сообщений Microsoft (MSMQ) и затем отметьте флажками установку следующих возможностей очереди сообщений:
MSMQ Доменные службы Active Directory (для компьютеров, подключенных к домену).
Поддержка MSMQ HTTP.
Нажмите кнопку OK.
Установка Message Queuing 3.0 в Windows XP или Windows Server 2003
Откройте Панель управления.
Выберите очередь сообщений и щелкните сведения.
если вы используете Windows server 2003, выберите сервер приложений для доступа к очереди сообщений.
Удостоверьтесь, что на странице сведений выбрана функция поддержки MSMQ HTTP.
Что такое очередь сообщений Microsoft (MSMQ)? Как это работает?
Мне нужно работать с MSMQ (очередь сообщений Microsoft). Что это, для чего это, как это работает? Чем он отличается от веб-сервисов?
9 ответов
Как указано в его имени, это просто администратор очередей.
вы можете отправлять объекты (сериализованные) в очередь, где они будут оставаться, пока вы их не получите. Он обычно используется для отправки сообщений или объектов между приложениями развязанным способом
Это не имеет ничего общего с веб-сервисов, это две разные вещи
информация о Служба msmq:
информация о веб-сервисах:
при всем уважении к ответу @Juan, оба являются способами обмена данными между двумя отключенными процессами, т. е. межпроцессными каналами связи (IPC). Очереди сообщений являются асинхронными, а веб-службы-синхронными. Для этого они используют разные протоколы и серверные службы, поэтому они совершенно разные по реализации, но схожие по назначению.
вы хотели бы использовать очереди сообщений, когда есть вероятность, что другой процесс общения может не быть доступным, но вы все равно хотите, чтобы сообщение было отправлено во время выбора клиента. Доставка произойдет, когда процесс на другом конце просыпается и получает уведомление о прибытии сообщения.
Управление Транзакционными Очередями 101
транзакционная очередь-это промежуточная система, которая асинхронно маршрутизирует сообщения одного типа между хостами, которые могут быть подключены или не подключены в любой момент времени. Это означает, что он также должен быть способен сохранять сообщение где-то. Примерами таких систем являются MSMQ и IBM MQ
транзакционная очередь также может участвовать в распределенные сделки, и откат может вызвать удаление сообщений. Это означает, что сообщение гарантированно будет доставлено с в-самый-раз семантика или гарантированная доставка, если не откат. Сообщение не будет доставлено, если:
хост a публикует сообщение, но хост B не подключен
что-то (возможно, но не обязательно инициируется от хоста A) откат транзакции
B подключается после транзакции откат
в этом случае B никогда не будет знать, что сообщение даже существовало, если оно не было сообщено через какой-либо другой носитель. Если транзакция была откатана, это, вероятно, не имеет значения. Если B подключается и собирает сообщение до отката транзакции, откат также обратит действие сообщения на B.
обратите внимание, что A может отправить сообщение в очередь с гарантией поставки at-most-once. Если транзакция зафиксирована, хост A может предположить, что сообщение было поставленный надежным средством перехода. если транзакция откатывается, хост A может предположить, что любые эффекты сообщения были отменены.
Web-Сервисов
веб-сервиса удаленный вызов процедур или другой сервис (например RESTFul API) опубликовано (обычно) HTTP Сервер. Это синхронный протокол запроса / ответа и не имеет никакой гарантии доставки, встроенной в протокол. Клиент должен проверить правильность запуска службы. Как правило, это будет через ответ на запрос или ожидания вызова.
в последнем случае веб-службы не гарантируют семантику не более одного раза. Сервер может завершить службу и не доставить ответ (возможно, через что-то вне сервера, идущего не так). Этот приложение должно быть в состоянии справиться с этой ситуацией.
IIRC, RESTFul services должны быть идемпотентными (то же состояние достигается после любого количества вызовов той же службы),что является стратегией для борьбы с этим отсутствием гарантированного уведомления об успехе/сбое в архитектурах веб-служб. идея заключается в том, что концептуально записывается состояние, а не вызов службы, поэтому можно писать любое количество раз. Это означает, что недостаток отзывы об успехе могут быть допущены приложением, поскольку оно может повторно попробовать публикацию, пока не получит сообщение об успехе с сервера.
обратите внимание, что вы можете использовать Windows Communication Foundation (WCF) в качестве уровня абстракции выше MSMQ. Это дает вам ощущение работы с сервисом-только с односторонними операциями.
на самом деле нет никакой связи между MSMQ и WebService. Использование MSMQ для межпроцессной связи (можно также использовать сокеты, сообщения windows, сопоставленную память). это служба windows, которая отвечает за хранение сообщений до тех пор, пока кто-то dequeue их. вы можете сказать, что это более надежно, чем сокеты, поскольку сообщения хранятся на жестком диске, но это медленнее, чем другие методы IPC.
вы можете использовать MSMQ в dotnet с небольшими строками кода, просто объявите свой
несколько лучших ссылок из поиска Google для «MSMQ» должны помочь.
MSMQ-очередь сообщений Microsoft: * MSMQ-это реализация очереди сообщений, разработанная корпорацией Майкрософт. * Он развернут в своих операционных системах Windows Server. * Это протокол обмена сообщениями, который позволяет приложениям, работающим на отдельных серверах / процессах, общаться в отказоустойчивом режиме. * MSMQ обычно используется на предприятии для создания программного обеспечения. * MSMQ обеспечивает надежную доставку, помещая сообщения, которые не достигают места назначения в очередь, а затем повторно отправляя их как только пункт назначения будет доступен. * MSMQ также поддерживает транзакции. Он позволяет выполнять несколько операций в нескольких очередях, причем все операции завернуты в одну транзакцию, что гарантирует, что все или ни одна из операций не вступит в силу. * Технология очереди сообщений (MSMQ) позволяет приложениям, работающим в разное время, взаимодействовать между гетерогенными сетями и системами, которые могут временно отключаться. Следующие порты используются для очереди сообщений Microsoft оперативный: • Протокол TCP: 1801 • RPC: 135, 2101*, 2103*, 2105* * UDP: 3527, 1801
MSMQ означает очередь обмена сообщениями Microsoft.
MSMQ отвечает за надежную доставку сообщений между приложениями внутри и за пределами предприятия. MSMQ обеспечивает надежную доставку, помещая сообщения, которые не достигают предполагаемого места назначения, в очередь, а затем повторно отправляет их, когда место назначения становится доступным. Он также поддерживает безопасность и обмен сообщениями на основе приоритетов. Очереди недоставленных сообщений могут быть созданы для просмотра сообщений, срок действия которых истек или не удалось по другим причинам.
MSMQ поддерживает как долговременный, так и кратковременный обмен сообщениями, чтобы найти компромисс между производительностью или согласованностью путем записи сообщений на диск или только в ОЗУ. Кратковременный обмен сообщениями может быть достигнут только путем отправки экспресс-сообщений через нетранзакционные очереди.
MSMQ также поддерживает транзакции. Он позволяет выполнять несколько операций с несколькими очередями, причем все операции заключены в одну транзакцию, что гарантирует, что все операции или ни одна из них не вступят в силу. Координатор распределенных транзакций Microsoft (MSDTC) поддерживает транзакционный доступ к MSMQ и другим ресурсам для достижения точной транзакции после обработки.
Следующие порты используются для операций Microsoft Message Queuing:
Ссылки на версии
Использует
MSMQ широко используется в различных приложениях контакт-центров на платформе Windows, которые используют эту службу для внутренних уведомлений и служб.
Microsoft Message Queuing (MSMQ) – промежуточная среда обмена сообщениями
5.1. Служба обмена сообщениями MSMQ
При отправке сообщения с использованием MSMQ посылающему приложению необходимо указать имя компьютера и очереди, в которую его необходимо доставить. После вызова приложением функции отправки сообщение сохраняется в локальной исходящей очереди. Затем MSMQ определяет имя компьютера и очереди, куда необходимо передать сообщение. Возможны следующие случаи:
После определения имени компьютера с очередью назначения, MSMQ проверяет доступность компьютера (пакетом UDP ) и в случае ответа сразу пытается отправить ему сообщение, повторяя попытки с интервалом по умолчанию 5 секунд. Если сообщение не удается отправить, то обычно каждые 5 минут служба сообщений пытается найти новый пункт назначения сообщения, используя маршрутизацию MSMQ. Процесс пересылки сообщения между компьютерами повторяется, пока оно не достигнет очереди назначения. С момента поступления сообщения в указанную при отправке очередь любое использующее MSMQ приложение с необходимыми правами доступа может прочитать это сообщение (рис. 5.1).
Таким образом, MSMQ поддерживает асинхронную передачу сообщений, при которой участвующие в обмене компоненты распределенной системы не обязательно должны функционировать в один и тот же момент времени.
5.2. Инфраструктура, необходимая для использования MSMQ
В MSMQ существуют два вида очередей – общие ( public ) и частные ( private ). Как частные, так и общие очереди могут либо использовать, либо не использовать транзакции, что задается при создании очереди и не может быть изменено в дальнейшем.