Поделиться через


Надежные службы

Очереди и надежные сеансы — это функции Windows Communication Foundation (WCF), реализующие надежный обмен сообщениями. В данном разделе рассматриваются функции надежного обмена сообщениями WCF.

Надежный обмен сообщениями — это надежная передача сообщений от надежного источника сообщений (называемого источником) в надежный пункт назначения сообщений (называемый назначением).

Ниже перечислены функции, выполняемые при надежном обмене сообщениями.

  • Обеспечение гарантированной передачи сообщений, отправленных от источника в пункт назначения, независимо от сбоев передачи сообщений или транспортных сбоев.

  • Отделение источника от назначения. Это обеспечивает независимость сбоев и восстановлений источника и назначения, а также надежность передачи и доставки сообщений даже при недоступности источника или назначения.

Надежность обмена сообщениями часто обеспечивается ценой высокой задержки. Задержка — это время, затрачиваемое на доставку сообщения от источника до назначения. В WCF предусмотрены следующие типы надежного обмена сообщениями.

Надежные сеансы

Надежные сеансы обеспечивают надежную сквозную передачу сообщений между источником и назначением с помощью протокола WS-Reliable Messaging независимо от количества и типа посредников между конечными точками обмена сообщениями (источником и назначением), В том числе от любых посредников транспорта, не использующих протокол SOAP (например, HTTP-прокси), и посредников, использующих этот протокол (например, мостов и маршрутизаторов на базе SOAP), необходимых для доставки сообщений между конечными точками. Надежные сеансы используют окно передачи в памяти для маскировки сбоев на уровне сообщений SOAP и повторной установки соединений при транспортных сбоях.

Надежные сеансы обеспечивают надежную передачу сообщений с низкой задержкой. Они обеспечивают доставку сообщений SOAP через любые прокси или посредники, подобно тому, как протокол TCP обеспечивает доставку пакетов через IP-мосты. Дополнительные сведения надежных сеансах см. в разделе Надежные сеансы.

Очереди

Очереди в WCF обеспечивают надежную передачу сообщений и отделение источника от назначения (ценой высокой задержки). Взаимодействие с использованием очередей в WCF является надстройкой системы очередей сообщений (MSMQ).

MSMQ поставляется как дополнительный компонент с Windows. Служба MSMQ работает как служба Windows. MSMQ помещает передаваемые сообщения в очередь передачи от имени источника и доставляет их в целевую очередь. Целевая очередь принимает сообщения от имени назначения для последующей доставки при получении запроса от назначения. Диспетчеры MSMQ реализуют протокол надежной передачи сообщений, благодаря которому сообщения не теряются при передаче. Этот протокол может быть собственным или основанным на SOAP (протокол SRMP).

Разделение в сочетании с надежной передачей сообщений между очередями обеспечивает надежное взаимодействие между слабо связанными приложениями. В отличие от технологии надежных сеансов, не требуется, чтобы источник и назначение выполнялись одновременно. Таким образом, возможны сценарии, в которых очереди фактически используются в качестве механизма выравнивания нагрузки при несоответствии скорости создания сообщений источником и их обработки в пункте назначения. Дополнительные сведения очередях см. в разделе Очереди в Windows Communication Foundation.

См. также

Основные понятия

Общие сведения о надежных сеансах
Очереди в WCF