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