Слайд 2Олег Степанов, dotSITE Software
Достоинства Message Queuing
Асинхронный обмен данными между приложениями
Надежность передачи
Возможность работы
![Олег Степанов, dotSITE Software Достоинства Message Queuing Асинхронный обмен данными между приложениями](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-1.jpg)
при отсутствии соединения
Безопасность
Слайд 3Структура сетей Message Queuing
![Структура сетей Message Queuing](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-2.jpg)
Слайд 4Олег Степанов, dotSITE Software
Message Queuing Networks
Образуют взвешенный граф (узлы – sites, дуги
![Олег Степанов, dotSITE Software Message Queuing Networks Образуют взвешенный граф (узлы –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-3.jpg)
– соединения между ними (site links). Дуги имеют стоимость (cost))
Информация о сети хранится в распределенной БД – MSMQ Information Storage (MQIS)
Слайд 5Олег Степанов, dotSITE Software
Роли серверов Message Queuing
Сервер, предоставляющий public queues
Сервер маршрутизации
![Олег Степанов, dotSITE Software Роли серверов Message Queuing Сервер, предоставляющий public queues Сервер маршрутизации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-4.jpg)
Слайд 6Олег Степанов, dotSITE Software
Типы очередей
Создаваемые пользователем
Системные
![Олег Степанов, dotSITE Software Типы очередей Создаваемые пользователем Системные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-5.jpg)
Слайд 7Олег Степанов, dotSITE Software
Пользовательские очереди
Общедоступные (public) – доступны всем в сети
Частные (private)
![Олег Степанов, dotSITE Software Пользовательские очереди Общедоступные (public) – доступны всем в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-6.jpg)
– доступны только с локальной машины
Администрационные (administration) – предназначены для хранения уведомлений
Очереди ответов (response queues) – хранят ответы на сообщения
Слайд 8Олег Степанов, dotSITE Software
Системные очереди
Протокольные очереди (journal queues) – хранят копии посланных
![Олег Степанов, dotSITE Software Системные очереди Протокольные очереди (journal queues) – хранят](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-7.jpg)
и удаленных сообщений и сообщений
Очереди удаленных сообщений (dead-letter queues) – хранят копии не доставленных сообщений
Очереди отчетов (report queues)
Частные системные очереди(private system queues)
Слайд 9Олег Степанов, dotSITE Software
Способы указания очередей
По пути (HostName\QueueName)
По форматному имени (FORMATNAME:PUBLIC=QueueGUID)
По метке
![Олег Степанов, dotSITE Software Способы указания очередей По пути (HostName\QueueName) По форматному имени (FORMATNAME:PUBLIC=QueueGUID) По метке](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-8.jpg)
Слайд 10Олег Степанов, dotSITE Software
Сообщения
Сообщение содержит тело (body) с заголовок, в котором указываются
![Олег Степанов, dotSITE Software Сообщения Сообщение содержит тело (body) с заголовок, в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-9.jpg)
его свойства
Тело может содержать любые сериализованные данные
Слайд 11Олег Степанов, dotSITE Software
Основные свойства сообщений
Метка (label) – строка, описывающая сообщение
Тип уведомления
![Олег Степанов, dotSITE Software Основные свойства сообщений Метка (label) – строка, описывающая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-10.jpg)
(acknowledgement type)
Приоритет (priority)
Временные ограничения доставки
Свойства для поддержка транзакций
Слайд 12Олег Степанов, dotSITE Software
Уведомления
Уведомления могут быть посланы по факту достижения сообщением очереди
![Олег Степанов, dotSITE Software Уведомления Уведомления могут быть посланы по факту достижения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-11.jpg)
назначения или прочтения их приложением
Уведомления могут быть отрицательными
Очередь, куда должны быть посланы уведомления, указывается в заголовке сообщения
Слайд 13Олег Степанов, dotSITE Software
Приоритет
Учитывается при маршрутизации и расположении сообщений в очереди
Учитывается только
![Олег Степанов, dotSITE Software Приоритет Учитывается при маршрутизации и расположении сообщений в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-12.jpg)
для сообщений, не являющихся частью транзакции
Слайд 14Олег Степанов, dotSITE Software
Временные ограничения
Ограничения могут быть на время доставки до очереди
![Олег Степанов, dotSITE Software Временные ограничения Ограничения могут быть на время доставки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-13.jpg)
и извлечения из очереди
Сообщения, обработка которых не удовлетворила временным рамкам, помещаются в очереди мертвых сообщений
Слайд 15Олег Степанов, dotSITE Software
Поддержка транзакций
Очереди могут быть транзакционными или нет
Для поддержки транзакций
![Олег Степанов, dotSITE Software Поддержка транзакций Очереди могут быть транзакционными или нет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-14.jpg)
введены идентификаторы транзакций, а также флаги начала и конца транзакции
Слайд 16Олег Степанов, dotSITE Software
Форс-мажор
Если сообщение не может быть доставлено следующему в цепочке
![Олег Степанов, dotSITE Software Форс-мажор Если сообщение не может быть доставлено следующему](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-15.jpg)
узлу, оно хранится на текущей машине пока не истечет время доставки
Если очередь в данный момент недоступна, на нее нужно ссылаться по форматному имени
Время передачи отсчитывается от момента создания сообщения
Слайд 17Олег Степанов, dotSITE Software
Новое в MSMQ 3.0
Обмен сообщениями через Internet (Internet Messaging)
Модель
![Олег Степанов, dotSITE Software Новое в MSMQ 3.0 Обмен сообщениями через Internet](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-16.jpg)
“один ко многим”
Программное управление
Триггеры (Message Queuing Triggers)
Слайд 18Олег Степанов, dotSITE Software
Сообщения через Internet
HTTP как возможный транспортный протокол
Использование SOAP
Поддержка сложных
![Олег Степанов, dotSITE Software Сообщения через Internet HTTP как возможный транспортный протокол](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/404207/slide-17.jpg)
серверных систем (load balancing, web farms, firewalls)