Очереди и надежные сеансы

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

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

Надежный обмен сообщениями имеет следующие ключевые аспекты:

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

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

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

  • Надежные сеансы, которые обеспечивают надежную передачу без затрат на высокую задержку

  • Очереди в WCF, которые предлагают надежную передачу и разделение между источником и назначением.

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

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

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

Очереди

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

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

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

См. также