Содержание
.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
Одной из ситуаций, в которых удобно применять Message Queuing — это когда клиентское приложение часто отключается от сети (например, у коммивояжера, навещающего заказчиков на местах). Коммивояжер может вводить данные заказа непосредственно у заказчика. Приложение ставит сообщение о каждом заказе в очередь сообщений, находящуюся на клиентской системе. Как только коммивояжер возвращается в свой офис, заказ автоматически передается из очереди сообщений клиентской системы в очередь сообщений целевой системы, где и обрабатывается.
Помимо портативного компьютера, коммивояжер может использовать устройство Pocket Windows, где также доступно Message Queuing.
Технология Message Queuing может быть полезна и в подключенной среде. Представьте сайт электронной коммерции (показан на рисунке ниже), где в определенные периоды времени сервер полностью загружен обработкой заказов, например, в ранний вечер и в выходные, при этом по ночам нагрузка значительно уменьшается. Решение проблемы может состоять в приобретении более быстрого сервера или в добавлении дополнительных серверов к системе, чтобы они справлялись с пиковыми нагрузками.
Однако существует более дешевое решение: сгладить пиковые нагрузки, сдвинув транзакции со времени максимальных нагрузок на время с низкой загрузкой. В такой схеме заказы отправляются в очередь сообщений, а принимающая сторона читает их тогда, когда это удобно системе базы данных. Таким образом, нагрузка на систему сглаживается по времени, так что сервер, обрабатывающий транзакции, может быть дешевле и не требовать модернизации:
Функциональные возможности Message Queuing
Технология Message Queuing является службой, которая поставляется как часть операционной системы Windows. Ниже перечислены ее основные функциональные возможности:
-
Сообщения могут пересылаться в автономной среде. То есть приложению-отправителю и приложению-получателю вовсе не обязательно выполняться в одно и то же время.
-
В экспресс-режиме сообщения могут пересылаться очень быстро. В экспресс-режиме сообщения просто сохраняются в памяти.
-
Для механизма восстановления сообщения могут отправляться с гарантированной доставкой. Такие сообщения сохраняются в файлах и доставляются даже в случае перезагрузки сервера.
-
Очереди сообщений могут защищаться с применением списков контроля доступа и указания в них, каким пользователям разрешено отправлять или получать сообщения из очереди. Кроме того, сообщения могут шифроваться для исключения вероятности их прочтения с помощью сетевых анализаторов пакетов, а также снабжаться приоритетами, чтобы те из них, которые имеют более высокий приоритет, обрабатывались быстрее.
-
В Message Queuing 3.
0 поддерживается возможность отправки многоадресных (multicast) сообщений.
-
В Message Queuing 4.0 поддерживается возможность распознавания вредоносных сообщений. Для таких сообщений может быть определена специальная очередь.
Например, в случае, если после прочтения сообщения из обычной очереди, далее оно должно вставляться в базу данных, но по какой-то причине этого не происходит, это сообщение может быть отправлено в очередь вредоносных сообщений. Впоследствии этой очередью вредоносных сообщений должен кто-нибудь заняться и выяснить, по какой причине адрес сообщения не удалось преобразовать.
-
В 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:
В этом разделе доступны для выбора перечисленные ниже компоненты:
- Microsoft Message Queue (MSMQ) Server Core
-
Основные компоненты сервера очереди сообщений (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 для осуществления маршрутизации сообщений по сети:
Что такое очередь сообщений?
Асинхронная передача сообщений для пакетных заданий и разъединения приложений
Очередь сообщений – это форма асинхронной коммуникации между сервисами, применяемая в бессерверных и микросервисных архитектурах. Сообщения хранятся в очереди, пока не будут обработаны и удалены. Каждое сообщение обрабатывается только один раз и только одним потребителем. Очереди сообщений могут использоваться для разъединения сложных процессов обработки, для буферизации или организации пакетной обработки, а также для сглаживания пиковых нагрузок.
Ниже представлены несколько ресурсов, которые помогут лучше разобраться в общих принципах работы очередей сообщений. Подробнее об очередях сообщений в AWS см. на странице Amazon Simple Queue Service (SQS).
33:27
Посмотрите запись вебинара, чтобы узнать о роли и компонентах обмена сообщениями в архитектуре приложений
В современной облачной архитектуре приложения разделяют на небольшие независимые элементы, которые проще разрабатывать, развертывать и обслуживать. Очереди сообщений обеспечивают для таких распределенных приложений возможность взаимодействия и координации. Очереди сообщений могут значительно упростить написание кода приложений с разъединенными компонентами, а также повысить их производительность, надежность и масштабируемость.
Очереди сообщений позволяют различным частям системы асинхронно взаимодействовать и обрабатывать операции. Очередь сообщений предоставляет упрощенный буфер, используемый для временного хранения сообщений, и конечные точки, которые позволяют программным компонентам подключаться к очереди для отправки и получения сообщений. Сообщения обычно имеют небольшой размер и могут представлять собой запросы, ответы, сообщения об ошибках или некую информацию. Чтобы отправить сообщение, компонент, называемый источником, добавляет сообщение в очередь. Сообщение хранится в очереди, пока другой компонент, называемый получателем, не извлечет это сообщение и не выполнит с ним некую операцию.
Очередь могут использовать многочисленные источники и получатели, но каждое сообщение обрабатывается одним получателем только один раз. По этой причине такой способ обмена сообщениями часто называют взаимно-однозначной или прямой передачей сообщений. Когда сообщение должно обрабатываться несколькими получателями, очереди сообщений можно комбинировать с моделью отправки сообщений «издатель-подписчик» в шаблоне проектирования разветвлений. См. подробнее в разделе Что такое модель передачи сообщений «издатель-подписчик»? или посетите страницу Amazon Simple Notification Service (SNS) для получения общей информации о модели передачи сообщений «издатель-подписчик» (Pub/Sub) в AWS.
Начните работу бесплатно с помощью трех простых команд.
Вход в Консоль
Подробнее об AWS
- Что такое AWS?
- Что такое облачные вычисления?
- Многообразие, равенство и инклюзивность AWS
- Что такое DevOps?
- Что такое контейнер?
- Что такое озеро данных?
- Безопасность облака AWS
- Новые возможности
- Блоги
- Пресс‑релизы
Ресурсы для работы с AWS
- Начало работы
- Обучение и сертификация
- Библиотека решений AWS
- Центр архитектуры
- Вопросы и ответы по продуктам и техническим темам
- Аналитические отчеты
- Партнеры AWS
Разработчики на AWS
- Центр разработчика
- Пакеты SDK и инструментарий
- .NET на AWS
- Python на AWS
- Java на AWS
- PHP на AWS
- JavaScript на AWS
Поддержка
- Свяжитесь с нами
- Обратиться в службу поддержки
- Центр знаний
- AWS re:Post
- Обзор AWS Support
- Юридическая информация
- Работа в AWS
Amazon. com – работодатель равных возможностей. Мы предоставляем равные права
представителям меньшинств, женщинам, лицам с ограниченными возможностями, ветеранам боевых действий и представителям любых гендерных групп любой сексуальной ориентации независимо от их возраста.
Поддержка AWS для Internet Explorer заканчивается 07/31/2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari.
Подробнее »
Определение и значение сообщения | Dictionary.com
- Лучшие определения
- Викторина
- Связанный контент
- Примеры
- Британский
- Идиомы и фразы
Это показывает оценку уровень в зависимости от сложности слова.
[mes-ij]
/ ˈmɛs ɪdʒ /
Сохрани это слово!
См. синонимы для: сообщение / сообщения / сообщения / сообщения на Thesaurus.com
Показывает уровень оценки в зависимости от сложности слова.
сущ.
сообщение, содержащее некоторую информацию, новости, совет, запрос и т.п., отправленное через мессенджер, по телефону, по электронной почте или другими способами.
официальное сообщение от главы исполнительной власти законодательному органу: послание президента Конгрессу.
Цифровая техника. сообщение или ответ на доске объявлений в Интернете.
вдохновенное высказывание пророка или мудреца.
суть, мораль или значение жеста, высказывания, романа, кинофильма и т. д.
Компьютеры. предупреждение, разрешение и т. д., переданные системой или программным обеспечением пользователю: сообщение об ошибке; сообщение о разрешении заблокированного контента.
глагол (используется без дополнения)
для отправки сообщения, особенно электронного сообщения.
глагол (используется с объектом)
послать (человеку) сообщение.
для отправки в виде сообщения.
ТЕСТ
МОЖЕТЕ ЛИ ВЫ ОТВЕЧАТЬ НА ЭТИ ОБЫЧНЫЕ ГРАММАТИЧЕСКИЕ СПОРЫ?
Есть грамматические дебаты, которые никогда не умирают; и те, которые выделены в вопросах этой викторины, наверняка снова всех разозлят. Знаете ли вы, как отвечать на вопросы, которые вызывают самые ожесточенные споры по грамматике?
Вопрос 1 из 7
Какое предложение правильное?
Идиомы о сообщении
получить сообщение, неформальное. понять или осмыслить, особенно сделать правильный вывод из обстоятельств, намеков и т. д.: если мы не пригласим его на вечеринку, может быть, он получит сообщение.
Источник сообщения
12:50–13:00; Среднеанглийский <старофранцузский <вульгарная латынь *missāticum, эквивалент латинского miss(us) send (причастие прошедшего времени от mittere to send) + -āticum-age
ДРУГИЕ СЛОВА ИЗ сообщения
промежуточное сообщение, существительное, прилагательное
СЛОВА, КОТОРЫЕ МОЖНО СПУТАТЬ С сообщением
массаж, сообщение
Слова рядом с сообщением
mesozoan , мезозойский, мескитовый, бардак, бардак , сообщение, доска сообщений, центр сообщений, Messager, палочка сообщений, переключение сообщений
Dictionary. com Unabridged
На основе Random House Unabridged Dictionary, © Random House, Inc., 2023
Слова, относящиеся к сообщению
директива, информация, письмо, служебная записка, меморандум, новость, заметка, уведомление, отчет, слово, смысл, тема, бюллетень, пушечное ядро, отправка, дурь, слух, послание, разведданные, намек
Как использовать сообщение в предложении
-
Тереза Кауза, практикующая медсестра из Сан-Антонио, попробовала новое приложение для знакомств под названием S’More, которое показывает фотографии совпадающих только после того, как пара обменялась несколькими сообщениями.
Что сексуально в условиях пандемии? Осторожно.|Лиза Бонос|12 февраля 2021 г.|Washington Post
-
В коротком сообщении в Instagram City Girls поблагодарили Рэй за возможность войти в мир телевидения.
Новая комедия от Иссы Рэй выходит на HBO Max|Бранде Викториан|11 февраля 2021 г.|Essence.com
-
Без предматчевого гимна, возможно, НБА не сможет распространять это сообщение так же мощно, как это делали игроки прошлым летом в Орландо.
Государственному гимну перед игрой — при всех его волнующих противоречиях — все же есть что предложить|Барри Сврлуга|11 февраля 2021 г.|Washington Post
-
Теперь вам нужно подать сигнал Уважаемому Лидеру, что вы получили его сообщение и остаетесь в стороне, но остаетесь в стороне.
Джин Вайнгартен: Я пришел с хорошими новостями, QAnon. Познакомьтесь с ВЭноном, новым мистером Правым.|Джин Вайнгартен|11 февраля 2021 г.|Washington Post
-
Казуко Фукуда, одна из женщин, инициировавших петицию, сказала, что ей нужен способ политиков из своего «клуба мальчиков», сомкнувшихся вокруг Мори и цепляющихся за старые взгляды.
Руководитель Олимпийских игр в Японии, заявивший, что женщины слишком много говорят, подаст в отставку из-за высказываний, говорится в сообщениях|Саймон Деньер, Джулия Мио Инума|11 февраля 2021 г.|Washington Post
-
Когда дело доходит до образования наших детей, Конгресс должен прислушаться к этому сообщению , не игнорировать его.
Переписывание «Нет детей» угрожает будущему ваших детей|Джона Эдельман|3 января 2015 г.|DAILY BEAST
-
Сообщение Лилы Алкорн было отправлено, услышано, и все начало меняться.
Сокрытие и озабоченные тролли: на самом деле речь идет об этике в журналистике самоубийств|Артур Чу|3 января 2015 г.|DAILY BEAST
-
Отправка сообщения «оправдывает» вызвавшую его трагедию?
Сокрытие и озабоченные тролли: на самом деле, речь идет об этике в журналистике самоубийств|Артур Чу|3 января 2015|DAILY BEAST
-
Но акт самоубийства совершен, сообщение было отправлено, услышано и прочее начал меняться.
Сокрытие и озабоченные тролли: на самом деле все дело в этике в журналистике самоубийств|Артур Чу|3 января 2015 г.|DAILY BEAST
-
В аудиосообщении были слова: «Настоящая битва в Ливане еще не началась».
Суннитско-шиитская история любви под угрозой со стороны «Аль-Каиды»|Рут Майклсон|26 декабря 2014|DAILY BEAST
-
Его голова безвольно упала на руку Макрея, а остальная часть сообщения пошла вместе с игрой старого Голландца через большой разрыв.
Необработанное золото|Бертран В. Синклер
-
В этот момент нас прервало сообщение от генерала Хьюстона, к которому мы немедленно поспешили.
Эдинбургский журнал Blackwood, № CCCXXXIX. Январь 1844 г. Том. LV.|Various
-
«Это пройдет, если я выживу», — спокойно ответил Гарри, тщательно скрывая сообщение под подкладкой пальто.
Курьер Озарков|Байрон А. Данн
-
В телеграфе молодой связист отправлял захватывающее сообщение в Амбалу, Лахор и на север.
Красный год|Луи Трейси
-
Аристид снова искал послание звезд; но небо заволокло тучами, и вскоре пошел мелкий дождь.
The Joyous Adventures of Aristide Pujol|William J. Locke
Определения сообщения в Британском словаре существительное
сообщение, обычно краткое, от одного человека или группы к другой
неявный смысл или мораль, как в произведении искусства
официальное сообщение
вдохновенное сообщение пророка или религиозного лидера
миссия; поручение
(множественное число) шотландский шоппингиду за сообщениями
получить сообщение в неформальной форме, чтобы понять, что имеется в виду
глагол
(tr) отправить как сообщение, особенно сигнализировать (план и т. д.)
Происхождение слова для сообщения Latin missāticum (незасвидетельствовано) что-то отправленное, от латинского missus, причастие прошедшего времени от mittere to send
Словарь английского языка Коллинза — полное и полное цифровое издание 2012 г.
© William Collins Sons & Co. Ltd., 1979, 1986 © HarperCollins
Издатели 1998, 2000, 2003, 2005, 2006, 2007, 2009, 2012
Другие идиомы и фразы с сообщением
сообщение
см. получить сообщение.
Словарь идиом американского наследия®
Авторские права © 2002, 2001, 1995, издательство Houghton Mifflin Harcourt Publishing Company. Опубликовано издательством Houghton Mifflin Harcourt Publishing Company.
Определение и значение сообщения | YourDictionary
mĕsĭj
сообщения, сообщения, сообщения
существительное
сообщения
Сообщение, переданное или отправленное в устной, письменной форме, с помощью сигналов и т. д. другой.
Я нашел сообщение, которое вы оставили на моем столе. Она отправила мне короткое сообщение по электронной почте.
Американское наследие
Официальное официальное сообщение.
Послание Президента в Конгресс.
Новый мир Вебстера
Содержание такого сообщения; переданная точка или точки.
Жестом указал на официанта, который получил сообщение и принес счет.
Американское наследие
Вдохновенное послание пророка или философа.
Новый мир Вебстера
Синонимы:
- Синонимы:
- провод
- телеграмма
- подтекст
- пункт
- уведомление
- послание
- миссия
- меморандум
- информация
- письмо
- депеша
- депеша
- связь
- код
902 79 криптограмма
Реклама
глагол
обмен сообщениями
Отправить (как) сообщение.
Новый мир Вебстера
Для отправки в виде сообщения.
Отчет отправлен по кабелю.
Американское наследие
Чтобы отправить сообщение; общаться.
Американское наследие
Синонимы:
- Синонимы:
- реле
Аббревиатура
Викисловарь
вне сообщения
Американское наследие
в сообщении
- После запланированного набора замечаний или позиций.
Американское наследие
получить сообщение
- , чтобы понять последствия действия или, часто конкретно, намека, инсинуации и т. д.
Новый мир Вебстера
отправить сообщение
- передать или сообщить свои чувства, желания и т.
д., часто, конкретно, тонким или косвенным образом
Новый мир Вебстера 90 017
Объявление
Другие словоформы сообщения
Существительное
Единственное число:
сообщение
Множественное число:
сообщения
Идиомы, фразовые глаголы, относящиеся к сообщению
- выключить сообщение
- включить сообщение
- получить сообщение
- отправить сообщение
Происхождение сообщения
-
Среднеанглийский из Старофранцузский из Средневековый латинский missāticum из Латинский missus причастие прошедшего времени от 90 258 минут для отправки
От
Словарь английского языка американского наследия, 5-е издание -
Старофранцузский, от позднелатинского missaticum , от латинского mittere , missum («послать»).