Udostępnij za pośrednictwem


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 użycia jednego wystąpienia usługi Azure WebPubSub do obsługi ruchu z dwóch krajów.

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 przedstawiający używanie dwóch wystąpień usługi Azure Web PubSub do obsługi ruchu z dwóch krajów.

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 użycia jednego wystąpienia usługi Azure Web PubSub z repliką do obsługi ruchu z dwóch krajów/regionów.

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ę.

Zrzut ekranu przedstawiający tworzenie repliki dla usługi Azure Web PubSub w portalu.

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

Zrzut ekranu przedstawiający blok przeglądu zasobu repliki usługi Azure Web PubSub.

Uwaga

  • Liczba replik jest obecnie ograniczona do maksymalnie 8 na zasób podstawowy.

Cennik i jednostka zasobów

Każda replika ma własną i unit autoscale 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 łuku repliki Web PubSub platformy Azure.

  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 przedstawiający tryb failover repliki usługi Azure Web PubSub.

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 odzyskiwania trybu failover repliki usługi Azure Web PubSub.

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 ustawienia punktu końcowego repliki usługi Azure Web PubSub.

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 modyfikacji punktu końcowego repliki usługi Azure Web PubSub.

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ść.

Konfiguracje nie dziedziczone i dziedziczone

Repliki dziedziczą większość konfiguracji z zasobu podstawowego; jednak niektóre ustawienia muszą być konfigurowane bezpośrednio w replikach. Poniżej znajduje się lista tych konfiguracji:

  1. Jednostka SKU: Każda replika ma własną nazwę jednostki SKU i rozmiar jednostki. Reguły skalowania automatycznego dla replik muszą być konfigurowane oddzielnie na podstawie poszczególnych metryk.
  2. Współużytkowane prywatne punkty końcowe: chociaż współużytkowane prywatne punkty końcowe są automatycznie replikowane do replik, oddzielne zatwierdzenia są wymagane w docelowych zasobach łącza prywatnego. Aby dodać lub usunąć udostępnione prywatne punkty końcowe, zarządzaj nimi w zasobie podstawowym. Nie włączaj repliki do momentu zatwierdzenia udostępnionego prywatnego punktu końcowego.
  3. Ustawienia lokalizacji docelowej dziennika. Jeśli repliki nie zostaną skonfigurowane, zostaną przeniesione tylko dzienniki z zasobu podstawowego.
  4. Alerty.

Wszystkie inne konfiguracje są dziedziczone z zasobu podstawowego. Na przykład klucze dostępu, tożsamość, zapora aplikacji, domeny niestandardowe, prywatne punkty końcowe i kontrola dostępu.