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
- Zasób Web PubSub w warstwie Premium.
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.
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:
- Należy zaimplementować mechanizm komunikacji między regionami, aby użytkownicy w Kanadzie i Stanach Zjednoczonych mogli ze sobą korzystać.
- Zespół deweloperów musi zarządzać dwoma oddzielnymi zasobami Web PubSub, z których każda ma odrębną domenę i parametry połączenia.
- 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.
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.
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ę.
Po utworzeniu można wyświetlić/edytować replikę w portalu, klikając nazwę repliki.
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:
- Przejdź do zasobu Web PubSub i wybierz blok Repliki . Kliknij replikę, którą chcesz usunąć.
- 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
- 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. - W przypadku tego rekordu CNAME klient ustanawia połączenie protokołu websocket z wystąpieniem regionalnym (repliką).
- Dwie repliki będą synchronizować dane ze sobą. W razie potrzeby komunikaty wysyłane do jednej repliki zostaną przeniesione do innych replik.
- 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ę weastus
lokalizacji . - Podobnie klienci blisko
westus
zostaną przekierowani do repliki w programiewestus
.
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
.
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.
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.
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:
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:
- 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.
- 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.
- Ustawienia lokalizacji docelowej dziennika. Jeśli repliki nie zostaną skonfigurowane, zostaną przeniesione tylko dzienniki z zasobu podstawowego.
- 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.