Очереди и надежные сеансы
Очереди и надежные сеансы — функции Windows Communication Foundation (WCF), реализующие надежный обмен сообщениями. В подразделах данного раздела рассматриваются функции надежного обмена сообщениями WCF.
Надежный обмен сообщениями — это надежная передача сообщений от надежного источника сообщений (называемого источником) в надежное назначение сообщений (называемое назначением).
Надежный обмен сообщениями имеет следующие ключевые аспекты:
Гарантии передачи сообщений, отправленных из источника в назначение, вне зависимости от сбоев передачи сообщений или транспортных сбоев.
Отделение источника от назначения, благодаря чему любые сбои и восстановления источника и назначения происходят независимо, и обеспечивается надежность доставки сообщения даже при недоступности источника или назначения.
Надежность обмена сообщениями часто обеспечивается ценой высокой задержки. Задержкой называется время, затрачиваемое на доставку сообщения от источника в назначение. В WCF предусмотрены следующие типы надежного обмена сообщениями:
Надежные сеансы, обеспечивающие надежную передачу без сильного повышения задержки
Очереди в Windows Communication Foundation, обеспечивающие надежную передачу и разделение между источником и назначением.
Надежные сеансы
Надежные сеансы обеспечивают надежную сквозную доставку сообщений между источником и назначением с помощью протокола WS-ReliableMessaging, вне зависимости от количества и типа посредников между конечными точками обмена сообщениями (источником и назначением). В том числе от любых посредников транспорта, не использующих протокол SOAP (например, HTTP-прокси), и посредников, использующих этот протокол (например, мостов и маршрутизаторов на базе SOAP), необходимых для доставки сообщений между конечными точками. Надежные сеансы используют окно передачи в памяти для маскировки сбоев на уровне сообщений SOAP и повторной установки соединений при транспортных сбоях.
Надежные сеансы обеспечивают надежную передачу сообщений с низкой задержкой. Они обеспечивают доставку сообщений SOAP через любые прокси или посредники, подобно тому, как протокол TCP обеспечивает доставку пакетов через IP-мосты. Дополнительные сведения надежных сеансах см. в разделе Надежные сеансы.
Очереди
Очереди в WCF обеспечивают надежную передачу сообщений и отделение источника от назначения (ценой высокой задержки). Взаимодействие с использованием очередей в WCF является надстройкой системы очередей сообщений (MSMQ).
MSMQ поставляется как дополнительный компонент Windows и выполняется как служба NT. MSMQ помещает передаваемые сообщения в очередь передачи от имени источника и доставляет их в целевую очередь. Целевая очередь принимает сообщения от имени назначения для дальнейшей доставки в назначения, запрашиваемые для этих сообщений. Диспетчеры очередей MSMQ реализуют надежный протокол передачи сообщений, благодаря которому сообщения не могут быть потеряны при передаче. Протокол может быть собственным или основанным на SOAP, как, например, протокол SRMP.
Разделение в сочетании с надежностью передачи сообщений между очередями обеспечивает надежную передачу данных между слабо связанными приложениями. В отличие от технологии надежных сеансов, не требуется, чтобы источник и назначение выполнялись одновременно. Таким образом, однозначно возможны сценарии, в которых запросы фактически используются как механизм контроля нагрузки при несоответствии интенсивности создания сообщений источником и их потребления назначением. Дополнительные сведения очередях см. в разделе Очереди в Windows Communication Foundation.
См. также
Основные понятия
Очереди в WCF
Общие сведения о надежных сеансах