Microsoft Message Queuing или MSMQ - это реализация очереди сообщений, разработанная Microsoft и развернутая в ее операционных системах Windows Server, начиная с Windows NT 4 и Windows 95 . Windows Server 2016 и Windows 10 также включают этот компонент. Помимо поддержки основной серверной платформы, MSMQ была включена в платформы Microsoft Embedded с 1999 года и с момента выпуска Windows CE 3.0. [1]
Обзор
MSMQ - это, по сути, протокол обмена сообщениями, который позволяет приложениям, работающим на отдельных серверах / процессах, обмениваться данными без сбоев. Очередь - это временное хранилище, из которого сообщения можно надежно отправлять и получать, когда позволяют условия. Это обеспечивает связь по сети и между компьютерами под управлением Windows, которые не всегда могут быть подключены. Напротив, сокеты и другие сетевые протоколы предполагают, что прямые соединения всегда существуют.
MSMQ доступен разработчикам на платформах Microsoft с 1997 года [2] и обычно используется в корпоративном программном обеспечении, созданном с помощью Visual Studio , как в собственном воплощении до .NET (версии 5 и 6), так и в Visual Studio .NET. . Microsoft также включила MSMQ в свой фреймворк технологий обмена сообщениями Windows Communication Foundation (WCF). В рамках WCF MSMQ можно использовать для обеспечения безопасного и надежного транспорта с унифицированной моделью программирования, совместимой с другими стандартами связи.
MSMQ отвечает за надежную доставку сообщений между приложениями внутри и за пределами предприятия. MSMQ обеспечивает надежную доставку, помещая сообщения, которые не достигают предполагаемого места назначения, в очередь, а затем повторно отправляет их, когда место назначения становится доступным. Он также поддерживает безопасность и обмен сообщениями на основе приоритетов. Очереди недоставленных писем могут быть созданы для просмотра сообщений, срок действия которых истек или завершился ошибкой по другим причинам.
MSMQ поддерживает как долговременный, так и кратковременный обмен сообщениями, чтобы найти компромисс между производительностью или согласованностью, записывая сообщения на диск или только в ОЗУ. Кратковременный обмен сообщениями может быть достигнут только путем отправки экспресс-сообщений через нетранзакционные очереди.
MSMQ также поддерживает транзакции. Он позволяет выполнять несколько операций с несколькими очередями, причем все операции заключены в одну транзакцию, что гарантирует, что либо все операции, либо ни одна из них не вступят в силу. Координатор распределенных транзакций Microsoft (MSDTC) поддерживает транзакционный доступ к MSMQ и другим ресурсам для достижения точной транзакционной обработки.
Следующие порты используются для операций Microsoft Message Queuing:
- TCP: 1801
- RPC: 135, 2101 *, 2103 *, 2105 *
- UDP: 3527, 1801
- * Эти номера портов могут быть увеличены на 11, если первоначальный выбор порта RPC используется при инициализации очереди сообщений. Порт 135 запрашивается для обнаружения портов 2xxx. [3]
Ссылки на версии
- Версия 1.0 (май 1997 г.). Поддерживает Windows 95 , Windows NT 4.0 SP3, Windows 98 и Windows Me .
- Версия 2.0, входящая в состав Windows 2000 .
- Новые функции включают: [4] Поддержка регистрации публичных очередей сообщений в Active Directory , 128-битное шифрование и поддержка цифровых сертификатов, полная поддержка COM для свойств сообщений (достижение функционального паритета с вызовами функций Win32 API , поддержка полного имени пути DNS, улучшено производительность в многопоточных приложениях.
- Версия 3.0, входящая в состав Windows XP (Professional, не Home Edition) и Windows Server 2003 .
- Новые функции включают: [5] Интернет- обмен сообщениями (обращение к очередям через HTTP, сообщения в формате SOAP , поддержка MSMQ для Internet Information Services ), псевдонимы очередей, многоадресная рассылка сообщений и дополнительная поддержка программного обслуживания и администрирования очередей и самого MSMQ.
- Версия 4.0, часть Windows Vista и Windows Server 2008 .
- Версия 5.0, часть Windows 7 и Windows Server 2008 R2 .
- Версия 6.0, часть Windows 8 и Windows Server 2012 .
- Версия 6.3, часть Windows 8.1 и Windows Server 2012 R2 .
Использует
MSMQ широко используется в различных приложениях контакт-центров на платформе Windows, которые используют эту службу для внутренних уведомлений и служб.
Смотрите также
- Список компонентов Microsoft Windows
- Служба сообщений Java , аналогичная технология на платформе Java
- Amazon Simple Queue Service , массовая служба обмена сообщениями, предоставляемая Amazon.com за плату за каждое использование. Это позволяет пользователям арендовать доступ к обмену сообщениями без необходимости обслуживания собственного сервера.
- RabbitMQ , брокер очередей сообщений с открытым исходным кодом, который реализует предварительную стандартную версию AMQP. [9]
Рекомендации
- ^ "Служба очереди сообщений Microsoft Windows CE 3.0" . Сеть разработчиков Microsoft . Проверено 25 ноября 2009 .
- ^ Новости InformationWeek соединяют сообщество бизнес-технологий . Informationweek.com (04.02.2014). Проверено 22 февраля 2014. Архивировано 10 апреля 2008 года в Wayback Machine.
- ^ Порты TCP, порты UDP и порты RPC, которые используются очередью сообщений . Support.microsoft.com (28 сентября 2011 г.). Проверено 22 февраля 2014.
- ^ «Облачный администратор» . Администратор облака Azure . Дайасагар Рой. Архивировано из оригинала на 2018-11-24 . Проверено 5 августа 2006 .
- ^ «Облачный администратор» . Лазурный . Дайасагар Рой. Архивировано из оригинала на 2018-11-24 . Проверено 5 августа 2006 .
- ^ «Облачный администратор» . Лазурный . Дайасагар Рой. Архивировано из оригинала на 2018-11-24 . Проверено 5 августа 2006 .
- ^ Под-очереди в MSMQ 4.0
- ^ «Облачный администратор» . Лазурный . Дайасагар Рой . Проверено 5 августа 2006 .
- ^ «ISO / IEC 19464: 2014 - Информационные технологии - Спецификация Advanced Message Queuing Protocol (AMQP) v1.0» . www.iso.org . Проверено 7 ноября 2017 .
Внешние ссылки
- Документация MSDN