Udostępnij za pośrednictwem


Kolejki i sesje niezawodne

Kolejki i niezawodne sesje to funkcje programu Windows Communication Foundation (WCF), które implementują niezawodne komunikaty. Tematy zawarte w tej sekcji omawiają funkcje niezawodnej obsługi komunikatów 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 ma następujące kluczowe aspekty:

  • Gwarancje transferu komunikatów wysyłanych ze źródła do miejsca docelowego niezależnie od niepowodzenia transferu komunikatów lub błędów transportu.

  • Rozdzielenie źródła i miejsca docelowego od siebie, co zapewnia niezależną awarię i odzyskiwanie źródła oraz miejsca docelowego, a także niezawodne przesyłanie 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:

  • Niezawodne sesje, które oferują niezawodny transfer bez kosztów 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-ReliableMessaging 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 (znanej również jako MSMQ).

MsMQ jest dostarczany jako opcja z systemem Windows, który działa jako usługa NT. 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 docelowe żądania dotyczące komunikatów. Menedżerowie kolejek 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, taki jak 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. Umożliwia to niejawnie scenariusze, w których kolejki są w efekcie używane jako mechanizm bilansowania obciążenia, gdy występuje niezgodność między szybkością produkcji komunikatów przez źródło i szybkością zużycia komunikatów przez miejsce docelowe. Aby uzyskać więcej informacji na temat kolejek, zobacz Kolejki w programie WCF.

Zobacz też