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

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

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

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

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

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

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

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

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

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

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

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

Очереди

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

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

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

См. также