Replikacja geograficzna w usłudze Azure Web PubSub

Aplikacje o znaczeniu krytycznym często muszą mieć niezawodny system trybu failover i służyć użytkownikom bliżej miejsca, w którym się znajdują. Przed wydaniem funkcji replikacji geograficznej deweloperzy musieli wdrożyć wiele zasobów Web PubSub i napisać kod niestandardowy w celu organizowania komunikacji między zasobami. Teraz dzięki szybkiej konfiguracji za pośrednictwem witryny Azure Portal można łatwo włączyć tę funkcję.

Zalety korzystania z replikacji geograficznej

  • Większa odporność na awarię regionalną: jeśli wystąpi awaria regionalna, klienci będą automatycznie kierowani do repliki w dobrej kondycji.
  • Komunikacja między regionami: Deweloperzy używają zasobu z włączoną replikacją geograficzną, nawet jeśli w tle istnieje więcej niż jeden zasób. Komunikacja między replikami jest obsługiwana przez usługę.
  • Zwiększona szybkość sieci: geograficznie rozproszeni klienci będą łączyć się z najbliższą repliką. Te repliki komunikują się za pośrednictwem globalnej sieci szkieletowej platformy Azure, zapewniając szybką i stabilną sieć.
  • Łatwość zarządzania. Wszystkie repliki współużytkuje konfigurację podstawowego zasobu Web PubSub.

Wymagania wstępne

Przykładowy przypadek użycia

Contoso, firma zajmująca się mediami społecznościowymi

Contoso to firma zajmująca się mediami społecznościowymi, która ma swoją bazę klientów w Stanach Zjednoczonych i Kanadzie. Firma Contoso udostępnia użytkownikom aplikację mobilną i internetową, aby mogli się ze sobą łączyć. Aplikacja firmy Contoso jest wdrażana w regionie Środkowe stany USA. W ramach architektury firmy Contoso usługa Web PubSub służy do ustanawiania trwałych połączeń protokołu WebSocket między aplikacjami klienckimi a serwerem aplikacji. Firma Contoso lubi , że może odciążyć zarządzanie połączeniami protokołu WebSocket z usługą Web PubSub, ale nie lubi odczytywać raportów użytkowników w Kanadzie, które mają większe opóźnienia. Ponadto zespół deweloperów firmy Contoso chce ubezpieczyć aplikację przed awarią regionalną, aby użytkownicy mogli uzyskiwać dostęp do aplikacji bez żadnych przerw.

Diagram of using one Azure WebPubSub instance to handle traffic from two countries.

Firma Contoso może skonfigurować kolejny zasób Web PubSub w Kanadzie Środkowej, który jest geograficznie bliżej swoich użytkowników w Kanadzie. Jednak zarządzanie wieloma zasobami Web PubSub wiąże się z pewnymi wyzwaniami:

  1. Należy zaimplementować mechanizm komunikacji między regionami, aby użytkownicy w Kanadzie i Stanach Zjednoczonych mogli ze sobą korzystać.
  2. Zespół deweloperów musi zarządzać dwoma oddzielnymi zasobami Web PubSub, z których każda ma odrębną domenę i parametry połączenia.
  3. Jeśli wystąpi awaria regionalna, ruch musi być kierowany do dostępnego zasobu.

Wszystkie powyższe zasoby inżynieryjne nie skupiają się na innowacjach w produktach.

Diagram of using two Azure Web PubSub instances to handle traffic from two countries.

Korzystanie z funkcji replikacji geograficznej

Dzięki funkcji replikacji geograficznej firma Contoso może teraz ustanowić replikę w Kanadzie Środkowej, skutecznie przekonując powyższe wyzwania. Zespół deweloperów chętnie dowie się, że nie musi wprowadzać żadnych zmian w kodzie. Wystarczy kliknąć kilka przycisków w witrynie Azure Portal. Zespół deweloperów chętnie podzieli się również z uczestnikami projektu, który firma Contoso planuje wejść na rynek europejski, po prostu musi dodać kolejną replikę w Europie.

Diagram of using one Azure Web PubSub instance with replica to handle traffic from two countries.

Jak włączyć replikację geograficzną w zasobie Web PubSub

Aby utworzyć replikę w regionie platformy Azure, przejdź do zasobu Web PubSub i znajdź blok Repliki w witrynie Azure Portal i kliknij przycisk Dodaj , aby utworzyć replikę.

Screenshot of creating replica for Azure Web PubSub on Portal.

Po utworzeniu można wyświetlić/edytować replikę w portalu, klikając nazwę repliki.

Screenshot of overview blade of Azure Web PubSub replica resource.

Cennik i jednostka zasobów

Każda replika ma własną iunitautoscale settings.

Replica to funkcja warstwy Premium usługi Azure Web PubSub Service. Każda replika jest rozliczana oddzielnie zgodnie z własną jednostką i ruchem wychodzącym. Bezpłatny limit przydziału komunikatów jest również obliczany oddzielnie.

W poprzednim przykładzie firma Contoso dodała jedną replikę w Kanadzie Środkowej. Firma Contoso zapłaci za replikę w Kanadzie Środkowej zgodnie z jednostką i komunikatem w cenie Premium.

Opłaty za ruch wychodzący między regionami będą naliczane. Jeśli komunikat zostanie przeniesiony między replikami i pomyślnie wysłany do klienta lub serwera po przeniesieniu, zostanie on rozliczone jako komunikat wychodzący.

Usuwanie repliki

Po utworzeniu repliki dla zasobu Web PubSub można go usunąć w dowolnym momencie, jeśli nie jest już potrzebny.

Aby usunąć replikę w witrynie Azure Portal:

  1. Przejdź do zasobu Web PubSub i wybierz blok Repliki . Kliknij replikę, którą chcesz usunąć.
  2. Kliknij przycisk Usuń w bloku przeglądu repliki.

Aby usunąć replikę przy użyciu interfejsu wiersza polecenia platformy Azure:

 az webpubsub replica delete --replica-name MyReplica --name MyWebPubSub -g MyResourceGroup

Dowiedz się, jak działa funkcja replikacji geograficznej

Diagram of the arch of Azure Web PubSub replica.

  1. Klient rozpoznaje w pełni kwalifikowaną nazwę domeny (FQDN) contoso.webpubsub.azure.com usługi Web PubSub. Ta nazwa FQDN wskazuje usługę Traffic Manager, która zwraca nazwę canonical (CNAME) najbliższego regionalnego wystąpienia usługi Web PubSub.
  2. W przypadku tego rekordu CNAME klient ustanawia połączenie protokołu websocket z wystąpieniem regionalnym (repliką).
  3. Dwie repliki będą synchronizować dane ze sobą. W razie potrzeby komunikaty wysyłane do jednej repliki zostaną przeniesione do innych replik.
  4. W przypadku niepowodzenia kontroli kondycji repliki przeprowadzonej przez usługę Traffic Manager (TM), TM wykluczy punkt końcowy wystąpienia, który zakończył się niepowodzeniem z wyników rozpoznawania domeny. Aby uzyskać szczegółowe informacje, zapoznaj się z poniższymi informacjami na temat odporności i odzyskiwania po awarii

Uwaga

  • W płaszczyźnie danych podstawowy zasób usługi Azure Web PubSub działa identycznie z replikami

Odporność i odzyskiwanie po awarii

Usługa Azure Web PubSub korzysta z usługi Traffic Manager na potrzeby kontroli kondycji i rozpoznawania nazw DNS w odniesieniu do replik. W normalnych okolicznościach, gdy wszystkie repliki działają prawidłowo, klienci będą kierowani do najbliższej repliki. Przykład:

  • Klienci blisko zostaną przekierowani eastus do repliki znajdującej się w eastuslokalizacji .
  • Podobnie klienci blisko westus zostaną przekierowani do repliki w programie westus.

W przypadku awarii regionalnej w regionie eastus (zilustrowanym poniżej) menedżer ruchu wykryje błąd kontroli kondycji dla tego regionu. Następnie system DNS tej wadliwej repliki zostanie wykluczony z wyników rozpoznawania nazw DNS usługi Traffic Manager. Po upływie czasu wygaśnięcia systemu DNS (TTL), który jest ustawiony na 90 sekund, klienci w programie eastus zostaną przekierowani w celu nawiązania połączenia z repliką w programie westus.

Diagram of Azure Web PubSub replica failover.

Po rozwiązaniu problemu eastus i powrocie regionu do trybu online kontrola kondycji zakończy się pomyślnie. Klienci w programie eastus będą następnie po raz kolejny kierowani do repliki w ich regionie. To przejście jest bezproblemowe, ponieważ połączone klienci nie będą mieć wpływu na te istniejące połączenia, dopóki te istniejące połączenia nie zostaną zamknięte.

Diagram of Azure Web PubSub replica failover recovery.

Ten proces przechodzenia w tryb failover i odzyskiwania jest automatyczny i nie wymaga ręcznej interwencji.

Wyłączanie lub włączanie punktu końcowego repliki

Podczas konfigurowania repliki możesz włączyć lub wyłączyć jego punkt końcowy. Jeśli jest ona wyłączona, rozpoznawanie nazw DNS podstawowej nazwy FQDN nie będzie zawierać repliki, a zatem ruch nie będzie kierowany do niej.

Diagram of Azure Web PubSub replica endpoint setting.

Możesz również włączyć wyłączenie punktu końcowego po jego utworzeniu. W bloku replik zasobów podstawowych kliknij przycisk wielokropka po prawej stronie repliki i wybierz pozycję Włącz punkt końcowy lub Wyłącz punkt końcowy:

Diagram of Azure Web PubSub replica endpoint modification.

Przed usunięciem replikacji rozważ najpierw wyłączenie punktu końcowego. W czasie istniejące połączenia zostaną rozłączone. W miarę zbliżania się nowych połączeń replikacja stanie się w końcu bezczynna. Zapewnia to bezproblemowy proces usuwania.

Ta funkcja jest również przydatna do rozwiązywania problemów regionalnych.

Uwaga

  • Ze względu na pamięć podręczną DNS może upłynąć kilka minut, aby aktualizacja DNS weszła w życie.
  • Istniejące połączenia pozostają bez wpływu, dopóki nie zostaną rozłączone.

Wpływ na wydajność po włączeniu funkcji replikacji geograficznej

Po włączeniu replik klienci będą naturalnie dystrybuować na podstawie ich lokalizacji geograficznych. Podczas gdy usługa Web PubSub ponosi odpowiedzialność za synchronizowanie danych między tymi replikami, będziesz mieć przyjemność wiedzieć, że związane z nim obciążenie związane z obciążeniem serwera jest minimalne w przypadku najczęstszych przypadków użycia.

W szczególności, jeśli aplikacja zazwyczaj emituje do większych grup (rozmiar >10) lub pojedynczego połączenia, wpływ synchronizacji na wydajność jest ledwo zauważalny. Jeśli wiadomości są małe grupy (rozmiar < 10), możesz zauważyć nieco więcej obciążeń związanych z synchronizacją.

Aby zapewnić efektywne zarządzanie trybem failover, zaleca się ustawienie rozmiaru jednostki każdej repliki w celu obsługi całego ruchu. Alternatywnie można włączyć skalowanie automatyczne, aby zarządzać tym rozwiązaniem.

Aby uzyskać więcej oceny wydajności, zobacz Wydajność.