Reliable Services

Kolejki i niezawodne sesje to funkcje programu Windows Communication Foundation (WCF), które implementują niezawodne komunikaty. W tym temacie opisano niezawodne funkcje obsługi komunikatów w programie WCF.

Niezawodna obsługa komunikatów polega na tym, jak niezawodne źródło komunikatów (nazywane źródłem) niezawodnie przesyła komunikaty do niezawodnego miejsca docelowego obsługi komunikatów (nazywanego miejscem docelowym).

Niezawodna obsługa komunikatów wykonuje następujące funkcje:

  • Transferuje gwarancje dotyczące komunikatów wysyłanych ze źródła do miejsca docelowego niezależnie od niepowodzeń transferu komunikatów lub transportu.

  • Oddziela źródło i miejsce docelowe od siebie. Zapewnia to niezależną awarię i odzyskiwanie źródła i miejsca docelowego, a także niezawodny transfer i dostarczanie komunikatów, nawet jeśli źródło lub miejsce docelowe jest niedostępne.

Niezawodne przesyłanie komunikatów często wiąże się z dużym opóźnieniem. Opóźnienie to czas potrzebny na dotarcie komunikatu do miejsca docelowego ze źródła. W związku z tym program WCF udostępnia następujące typy niezawodnych komunikatów:

  • Reliable Sessions, która oferuje niezawodny transfer bez kosztu dużego opóźnienia.

  • Kolejki w programie WCF, które oferują zarówno niezawodne transfery, jak i separację między źródłem a miejscem docelowym.

Niezawodne sesje

Niezawodne sesje zapewniają kompleksowe niezawodne przesyłanie komunikatów między źródłem a miejscem docelowym przy użyciu protokołu WS-Reliable Messaging, niezależnie od liczby lub typu pośredników oddzielających punkty końcowe obsługi komunikatów (źródłowy i docelowy). Obejmuje to wszystkich pośredników transportowych, które nie używają protokołu SOAP (na przykład serwerów proxy HTTP) ani pośredników korzystających z protokołu SOAP (na przykład routerów lub mostków opartych na protokole SOAP), które są wymagane do przepływu komunikatów między punktami końcowymi. Sesje niezawodne używają okna transferu w pamięci do maskowania błędów na poziomie komunikatów PROTOKOŁU SOAP i ponownego nawiązywania połączeń w przypadku awarii transportu.

Niezawodne sesje zapewniają niezawodne transfery komunikatów o małych opóźnieniach. Zapewniają one komunikaty PROTOKOŁU SOAP za pośrednictwem jakichkolwiek serwerów proxy lub pośredników, co zapewnia protokół TCP dla pakietów za pośrednictwem mostków IP. Aby uzyskać więcej informacji na temat niezawodnych sesji, zobacz Reliable Sessions (Sesje niezawodne).

Kolejki

Kolejki w programie WCF zapewniają zarówno niezawodne transfery komunikatów, jak i separację między źródłami i miejscami docelowymi kosztem dużego opóźnienia. Komunikacja w kolejce WCF jest oparta na kolejce komunikatów (MSMQ).

Usługa MSMQ jest dostarczana jako składnik opcjonalny z systemem Windows. Usługa MSMQ działa jako usługa systemu Windows. Przechwytuje komunikaty do transmisji w kolejce transmisji w imieniu źródła i dostarcza je do kolejki docelowej. Kolejka docelowa akceptuje komunikaty w imieniu miejsca docelowego na potrzeby późniejszego dostarczania za każdym razem, gdy miejsce docelowe żąda komunikatów. Menedżerowie MSMQ implementują niezawodny protokół transferu komunikatów, dzięki czemu komunikaty nie zostaną utracone w transmisji. Protokół może być natywny lub oparty na protokole SOAP o nazwie SOAP Reliable Messaging Protocol (SRMP).

Separacja, w połączeniu z niezawodnym transferem komunikatów między kolejkami, umożliwia aplikacjom luźno sprzężone w celu niezawodnego komunikowania się. W przeciwieństwie do niezawodnych sesji źródło i lokalizacja docelowa nie muszą być uruchomione w tym samym czasie. To niejawnie umożliwia scenariusze, w których kolejki są, w efekcie, używane jako mechanizm bilansowania obciążenia, gdy szybkość produkcji komunikatów źródłowych i szybkość docelowego zużycia komunikatów nie są zgodne. Aby uzyskać więcej informacji na temat kolejek, zobacz Kolejki w programie WCF.

Zobacz też