Очереди и надежные сеансыQueues and Reliable Sessions

Очереди и надежные сеансы перечислены возможности Windows Communication Foundation (WCF), которые реализуют надежный обмен сообщениями.Queues and reliable sessions are the Windows Communication Foundation (WCF) features that implement reliable messaging. В подразделах, содержащихся в этом разделе рассматриваются возможности надежного обмена сообщениями WCF.The topics contained in this section discuss the WCF reliable messaging features.

Надежный обмен сообщениями - это надежная передача сообщений от надежного источника сообщений (называемого источником) в надежное назначение сообщений (называемое назначением).Reliable messaging is how a reliable messaging source (called the source) transfers messages reliably to a reliable messaging destination (called the destination).

Надежный обмен сообщениями имеет следующие ключевые аспекты:Reliable messaging has the following key aspects:

  • Гарантии передачи сообщений, отправленных из источника в назначение, вне зависимости от сбоев передачи сообщений или транспортных сбоев.Transfer assurances for messages sent from a source to a destination regardless of message transfer failure or transport failures.

  • Отделение источника от назначения, благодаря чему любые сбои и восстановления источника и назначения происходят независимо, и обеспечивается надежность доставки сообщения даже при недоступности источника или назначения.Separation of the source and the destination from each other, which provides independent failure and recovery of the source and the destination as well as reliable transfer and delivery of messages even though the source or destination is unavailable.

Надежность обмена сообщениями часто обеспечивается ценой высокой задержки.Reliable messaging frequently comes at the cost of high latency. Задержкой называется время, затрачиваемое на доставку сообщения от источника в назначение.Latency is the time it takes for the message to reach the destination from the source. WCF, таким образом, предоставляет следующие типы надежного обмена сообщениями:WCF, therefore, provides the following types of reliable messaging:

  • Надежные сеансы, которые обеспечивают надежную передачу без сильного повышения задержкиReliable Sessions, which offer reliable transfer without the cost of high latency

  • Очереди в WCF, которые обеспечивают надежную передачу и разделение между источником и назначением.Queues in WCF, which offer both reliable transfers and separation between the source and the destination.

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

Надежные сеансы обеспечивают надежную сквозную доставку сообщений между источником и назначением с помощью протокола WS-ReliableMessaging, вне зависимости от количества и типа посредников между конечными точками обмена сообщениями (источником и назначением).Reliable sessions provide end-to-end reliable transfer of messages between a source and a destination using the WS-ReliableMessaging protocol regardless of the number or type of intermediaries that separate the messaging (source and destination) endpoints. В него входят любые транспортные посредники, не использующие протокол SOAP (например, прокси-серверы HTTP), и посредники, использующие этот протокол (например, мосты и маршрутизаторы на базе SOAP), необходимые для продвижения сообщений между конечными точками.This includes any transport intermediaries that do not use SOAP (for example, HTTP proxies) or intermediaries that use SOAP (for example, SOAP-based routers or bridges) that are required for messages to flow between the endpoints. Надежные сеансы используют окно передачи в памяти для маскировки сбоев на уровне сообщений SOAP и повторной установки соединений при транспортных сбоях.Reliable sessions use an in-memory transfer window to mask SOAP message-level failures and re-establish connections in the case of transport failures.

Надежные сеансы обеспечивают надежную передачу сообщений с низкой задержкой.Reliable sessions provide low-latency reliable message transfers. Они обеспечивают доставку сообщений протокола SOAP через любые прокси или маршрутизаторы подобно тому, как протокол TCP обеспечивает доставку пакетов через IP-мосты.They provide for SOAP messages over any proxies or intermediaries, equivalent to what TCP provides for packets over IP bridges. Дополнительные сведения о надежных сеансах см. в разделе надежные сеансы.For more information about reliable sessions, see Reliable Sessions.

ОчередиQueues

Очереди в WCF обеспечивают надежную передачу сообщений и отделение источника от назначения ценой высокой задержки.Queues in WCF provide both reliable transfers of messages and separation between sources and destinations at the cost of high latency. WCF в очереди обмена данными построена на основе очереди сообщений (MSMQ).WCF queued communication is built on top of Message Queuing (also known as MSMQ).

MSMQ поставляется как дополнительный компонент Windows и выполняется как служба NT.MSMQ is shipped as an option with Windows that runs as an NT service. MSMQ помещает передаваемые сообщения в очередь передачи от имени источника и доставляет их в целевую очередь.It captures messages for transmission in a transmission queue on behalf of the source and delivers it to a target queue. Целевая очередь принимает сообщения от имени назначения для дальнейшей доставки в назначения, запрашиваемые для этих сообщений.The target queue accepts messages on behalf of the destination for later delivery whenever the destination requests for messages. Диспетчеры очередей MSMQ реализуют надежный протокол передачи сообщений, благодаря которому сообщения не могут быть потеряны при передаче.The MSMQ queue managers implement a reliable message-transfer protocol so that messages are not lost in transmission. Протокол может быть собственным или основанным на SOAP, как, например, протокол SRMP.The protocol can be native or SOAP-based, such as Soap Reliable Messaging Protocol (SRMP).

Разделение в сочетании с надежностью передачи сообщений между очередями обеспечивает надежную передачу данных между слабо связанными приложениями.The separation, coupled with reliable message transfers between queues, enables applications that are loosely coupled to communicate reliably. В отличие от технологии надежных сеансов, не требуется, чтобы источник и назначение выполнялись одновременно.Unlike reliable sessions, the source and destination do not have to be running at the same time. Таким образом, однозначно возможны сценарии, в которых запросы фактически используются как механизм контроля нагрузки при несоответствии интенсивности создания сообщений источником и их потребления назначением.This implicitly enables scenarios where queues are, in effect, used as a load-leveling mechanism when there is a mismatch between the rate of message production by the source and the rate of the message consumption by the destination. Дополнительные сведения об очередях см. в разделе очереди в WCF.For more information about queues, see Queues in WCF.

См. такжеSee also