Replikacja geograficzna usługi Azure Service Bus (wersja zapoznawcza)
Funkcja replikacji geograficznej usługi Service Bus jest jedną z opcji izolacji aplikacji usługi Azure Service Bus przed awariami i awariami, zapewniając replikację obu metadanych (jednostek, konfiguracji, właściwości) i danych (dane komunikatu i właściwość komunikatu / zmiany stanu).
Uwaga
Ta funkcja jest dostępna dla warstwy Premium usługi Azure Service Bus.
Funkcja replikacji geograficznej zapewnia, że metadane i dane przestrzeni nazw są stale replikowane z regionu podstawowego do co najmniej jednego regionu pomocniczego.
- Kolejki, tematy, subskrypcje, filtry.
- Dane, które znajdują się w jednostkach.
- Wszystkie zmiany stanu i zmiany właściwości wykonywane względem komunikatów w przestrzeni nazw.
- Konfiguracja przestrzeni nazw.
Uwaga
Obecnie obsługiwana jest tylko jedna pomocnicza.
Ta funkcja umożliwia promowanie dowolnego regionu pomocniczego do podstawowego w dowolnym momencie. Podwyższenie poziomu pomocniczego wskazuje nazwę przestrzeni nazw do wybranego regionu pomocniczego i przełącza role między regionem podstawowym i pomocniczym. Promocja jest prawie natychmiastowa po zainicjowaniu.
Ważne
- Ta funkcja jest obecnie dostępna w publicznej wersji zapoznawczej i w związku z tym nie powinna być używana w scenariuszach produkcyjnych.
- Poniższe regiony są obecnie obsługiwane w publicznej wersji zapoznawczej.
Region (Region) | Region (Region) | Region (Region) |
---|---|---|
AustraliaCentral | NiemcyNorth | NorwegiaWest |
AustraliaCentral2 | GermanyWestCentral | PolskaCentral |
AustraliaEast | IsraelCentral | SouthAfricaNorth |
AustraliaSoutheast | WłochyNorth | PołudniowoafrykadaWest |
BrazilSoutheast | JapanEast | SoutheastAsia |
CanadaCentral | JaponiaWest | SouthIndia |
CanadaEast | JioIndiaCentral | HiszpaniaCentral |
CentralIndia | JioIndiaWest | SzwecjaCentral |
CentralUS | KoreaCentral | SwitzerlandNorth |
CentralUSEUAP | KoreaSouth | SzwajcariaWest |
EastAsia | MeksykCentral | ZeACentral |
EastUS2 | NorthCentralUS | UAENorth |
FranceCentral | NorthEurope | UKSouth |
FranceSouth | NorwayEast | UKWest |
- Ta funkcja jest obecnie dostępna w nowych przestrzeniach nazw. Jeśli wcześniej włączono tę funkcję w przestrzeni nazw, można ją wyłączyć (usuwając regiony pomocnicze) i ponownie włączyć.
- Następujące funkcje nie są obecnie obsługiwane. Nieustannie pracujemy nad wprowadzeniem większej liczby funkcji do publicznej wersji zapoznawczej i zaktualizujemy tę listę o najnowszy stan.
- Obsługa dużych komunikatów.
- Funkcje sieci wirtualnej/zaawansowane (prywatne punkty końcowe, listy ACL adresów IP, NSP, punkty końcowe usługi).
- Tożsamości (MSI, wyłącz uwierzytelnianie lokalne) i ustawienia szyfrowania (szyfrowanie klucza zarządzanego przez klienta (CMK) lub użycie własnego klucza (BYOK).
- Skalowanie automatyczne.
- Partycjonowane przestrzenie nazw.
- Wysyłanie zdarzeń do usługi Event Grid.
- Tej funkcji nie można używać w połączeniu z funkcją odzyskiwania geograficznego odzyskiwania po awarii usługi Azure Service Bus.
Scenariusze
Funkcja replikacji geograficznej może służyć do implementowania różnych scenariuszy, zgodnie z opisem w tym miejscu.
Odzyskiwanie po awarii
Dane i metadane są stale synchronizowane między regionami podstawowymi i pomocniczymi. Jeśli region jest opóźniony lub niedostępny, można podwyższyć poziom regionu pomocniczego jako podstawowy. Ta promocja umożliwia nieprzerwane działanie obciążeń w nowo promowanym regionie. Taka promocja może być konieczna przez obniżenie poziomu usługi Service Bus lub innych usług w ramach obciążenia, szczególnie jeśli chcesz uruchomić różne składniki razem. W zależności od ważności i usług, których to dotyczy, podwyższenie poziomu może być planowane lub wymuszone. W przypadku komunikatów o planowanej promocji w locie są replikowane przed sfinalizowaniem promocji, podczas gdy z wymuszonym podwyższeniem poziomu jest to natychmiast wykonywane.
Migracja regionów
Czasami chcesz migrować obciążenia usługi Service Bus do uruchamiania w innym regionie. Na przykład gdy platforma Azure dodaje nowy region, który jest geograficznie bliżej Twojej lokalizacji, użytkowników lub innych usług. Alternatywnie możesz chcieć przeprowadzić migrację w regionach, w których jest uruchamiana większość obciążeń. Funkcja replikacji geograficznej zapewnia również dobre rozwiązanie w tych przypadkach. W takim przypadku należy skonfigurować replikację geograficzną w istniejącej przestrzeni nazw z żądanym nowym regionem jako region pomocniczy i poczekać na ukończenie synchronizacji. W tym momencie rozpoczniesz planowaną promocję, umożliwiając replikowanie wszystkich komunikatów w locie. Po zakończeniu podwyższania poziomu możesz teraz opcjonalnie usunąć stary region, który jest teraz regionem pomocniczym i kontynuować uruchamianie obciążeń w żądanym regionie.
Podstawowe pojęcia
Funkcja replikacji geograficznej implementuje metadane i replikację danych w podstawowym modelu replikacji pomocniczej. W danym momencie istnieje jeden region podstawowy, który obsługuje zarówno producentów, jak i konsumentów. Pomocnicze elementy działają jako gorące regiony rezerwowe, co oznacza, że nie można wchodzić w interakcje z tymi regionami pomocniczymi. Są one jednak uruchamiane w tej samej konfiguracji co region podstawowy, co umożliwia szybkie podwyższenie poziomu i oznacza, że obciążenia mogą natychmiast kontynuować działanie po zakończeniu podwyższania poziomu. Funkcja replikacji geograficznej jest dostępna dla warstwy Premium.
Oto niektóre kluczowe aspekty funkcji replikacji geograficznej:
- Usługi Service Bus wykonują w pełni zarządzaną replikację metadanych, danych komunikatów oraz zmiany stanu komunikatów i właściwości w różnych regionach zgodnie z spójnością replikacji skonfigurowaną w przestrzeni nazw.
- Nazwa hosta pojedynczej przestrzeni nazw; Po pomyślnej konfiguracji przestrzeni nazw z włączoną replikacją geograficzną użytkownicy mogą używać nazwy hosta przestrzeni nazw w swojej aplikacji klienckiej. Nazwa hosta zachowuje się niezależny od skonfigurowanych regionów podstawowych i pomocniczych i zawsze wskazuje region podstawowy.
- Gdy klient inicjuje podwyższenie poziomu, nazwa hosta wskazuje region wybrany jako nowy region podstawowy. Stary podstawowy staje się regionem pomocniczym.
- Nie można odczytywać ani zapisywać danych w regionach pomocniczych.
- Tryby replikacji synchronicznej i asynchronicznej, opisane tutaj.
- Podwyższenie poziomu zarządzanego przez klienta z regionu podstawowego do pomocniczego, zapewniając pełną własność i widoczność rozwiązania awarii. Dostępne są metryki, które mogą pomóc zautomatyzować podwyższenie poziomu po stronie klienta.
- Regiony pomocnicze można dodawać lub usuwać według uznania klienta.
Tryby replikacji
Istnieją dwa tryby replikacji, synchroniczne i asynchroniczne. Ważne jest, aby poznać różnice między dwoma trybami.
Replikacja asynchroniczna
Przy użyciu replikacji asynchronicznej wszystkie żądania są zatwierdzane na serwerze podstawowym, po czym potwierdzenie jest wysyłane do klienta. Replikacja do regionów pomocniczych odbywa się asynchronicznie. Użytkownicy mogą skonfigurować maksymalny dopuszczalny czas opóźnienia. Czas opóźnienia to przesunięcie po stronie usługi między najnowszą akcją w regionach podstawowych i pomocniczych. Jeśli opóźnienie aktywnej pomocniczej zwiększa się poza konfigurację użytkownika, podstawowa rozpoczyna ograniczanie żądań przychodzących.
Replikacja synchroniczna
Przy użyciu replikacji synchronicznej wszystkie żądania są replikowane do pomocniczej, co musi zatwierdzić i potwierdzić operację przed zatwierdzeniem na serwerze podstawowym. W związku z tym aplikacja publikuje ją w tempie publikowania, replikowania, potwierdzania i zatwierdzania. Ponadto oznacza to również, że aplikacja jest powiązana z dostępnością obu regionów. Jeśli opóźnienie regionu pomocniczego lub jest niedostępne, komunikaty nie zostaną potwierdzone i zatwierdzone, a podstawowy będzie ograniczać żądania przychodzące.
Porównanie trybu replikacji
W przypadku replikacji synchronicznej :
- Opóźnienie jest dłuższe z powodu operacji zatwierdzania rozproszonego.
- Dostępność jest powiązana z dostępnością dwóch regionów.
Z drugiej strony replikacja synchroniczna zapewnia największą pewność, że dane są bezpieczne. Jeśli masz replikację synchroniczną, to po zatwierdzeniu zostanie ona zatwierdzona we wszystkich regionach skonfigurowanych na potrzeby replikacji geograficznej, zapewniając najlepszą gwarancję danych.
Z replikacją asynchroniczną :
- Opóźnienie ma minimalny wpływ na opóźnienie.
- Utrata regionu pomocniczego nie ma natychmiastowego wpływu na dostępność. Jednak wpływ na dostępność będzie mieć wpływ po osiągnięciu skonfigurowanego maksymalnego opóźnienia replikacji.
W związku z tym nie ma absolutnej gwarancji, że wszystkie regiony mają dane, zanim zatwierdzimy je tak jak replikacja synchroniczna, a może wystąpić utrata lub duplikowanie danych. Jednak ponieważ nie ma to już natychmiastowego wpływu na opóźnienie pojedynczego regionu lub jest niedostępne, dostępność aplikacji zwiększa się, oprócz mniejszego opóźnienia.
Możliwość | Replikacja synchroniczna | Replikacja asynchroniczna |
---|---|---|
Opóźnienie | Dłużej z powodu operacji zatwierdzania rozproszonego | Minimalny wpływ na |
Dostępność | Powiązane z dostępnością regionów pomocniczych | Utrata regionu pomocniczego nie ma natychmiastowego wpływu na dostępność |
Spójność danych | Dane zawsze zatwierdzane w obu regionach przed potwierdzeniem | Dane zatwierdzone tylko w podstawowej wersji przed potwierdzeniem |
Cel punktu odzyskiwania (cel punktu odzyskiwania) | Cel punktu odzyskiwania 0, brak utraty danych w przypadku podwyższenia poziomu | > Cel punktu odzyskiwania 0, możliwa utrata danych po podwyższeniu poziomu |
Tryb replikacji można zmienić po skonfigurowaniu replikacji geograficznej. Możesz przejść z synchronicznego do asynchronicznego lub z asynchronicznego do synchronicznego. Jeśli przejdziesz z asynchronicznego do synchronicznego, pomocnicza zostanie skonfigurowana jako synchroniczna po osiągnięciu zera. Jeśli używasz ciągłego opóźnienia z jakiegokolwiek powodu, może być konieczne wstrzymanie wydawców, aby opóźnienie osiągło zero i tryb, aby można było przełączyć się na synchroniczne. Przyczyny włączenia replikacji synchronicznej zamiast replikacji asynchronicznej są powiązane z ważnością danych, specyficznymi potrzebami biznesowymi lub przyczynami zgodności, a nie dostępnością aplikacji.
Uwaga
Jeśli opóźnienie regionu pomocniczego lub stanie się niedostępne, aplikacja nie będzie już mogła replikować do tego regionu i rozpocznie ograniczanie przepustowości po osiągnięciu opóźnienia replikacji. Aby kontynuować korzystanie z przestrzeni nazw w lokalizacji podstawowej, można usunąć dotknięty region pomocniczy. Jeśli nie skonfigurowano więcej regionów pomocniczych, przestrzeń nazw będzie kontynuowana bez włączonej replikacji geograficznej. W dowolnym momencie można dodać dodatkowe regiony pomocnicze.
Wybór regionu pomocniczego
Aby włączyć funkcję replikacji geograficznej, należy użyć regionów podstawowych i pomocniczych, w których funkcja jest włączona. Funkcja replikacji geograficznej zależy od możliwości replikowania opublikowanych komunikatów z regionu podstawowego do regionów pomocniczych. Jeśli region pomocniczy znajduje się na innym kontynencie, ma to duży wpływ na opóźnienie replikacji z regionu podstawowego do regionu pomocniczego. Jeśli ze względów dostępności używasz replikacji geograficznej, najlepiej jest korzystać z regionów pomocniczych znajdujących się co najmniej na tym samym kontynencie, gdzie to możliwe. Aby lepiej zrozumieć opóźnienia spowodowane odległością geograficzną, możesz dowiedzieć się więcej na temat statystyk opóźnienia okrężnego sieci platformy Azure.
Zarządzanie replikacją geograficzną
Funkcja replikacji geograficznej umożliwia klientom skonfigurowanie regionu pomocniczego, w którym mają być replikowane metadane i dane. W związku z tym klienci mogą wykonywać następujące zadania zarządzania:
- Konfigurowanie replikacji geograficznej; Regiony pomocnicze można skonfigurować w dowolnej nowej lub istniejącej przestrzeni nazw w regionie z włączoną funkcją replikacji geograficznej.
Uwaga
Obecnie w publicznej wersji zapoznawczej obsługiwane są tylko nowe przestrzenie nazw.
- Konfigurowanie spójności replikacji; Replikacja synchroniczna i asynchroniczna jest ustawiana podczas konfigurowania replikacji geograficznej, ale może być również przełączana później.
- Podwyższanie poziomu wyzwalacza; Wszystkie promocje są inicjowane przez klienta.
- Usuń pomocniczą; Jeśli w dowolnym momencie chcesz usunąć region pomocniczy, możesz to zrobić po usunięciu danych w regionie pomocniczym.
Ustawienia
Przy użyciu witryny Azure Portal
Poniższa sekcja zawiera omówienie konfigurowania funkcji replikacji geograficznej w nowej przestrzeni nazw za pośrednictwem witryny Azure Portal.
Uwaga
To środowisko może ulec zmianie w publicznej wersji zapoznawczej. Odpowiednio zaktualizujemy ten dokument.
- Utwórz nową przestrzeń nazw warstwy Premium.
- Zaznacz pole wyboru Włącz replikację geograficzną w sekcji Replikacja (wersja zapoznawcza).
- Kliknij przycisk Dodaj region pomocniczy i wybierz region.
- Zaznacz pole wyboru Replikacja synchroniczna lub określ wartość dla wartości opóźnienie replikacji asynchronicznej — maksymalna liczba replikacji w sekundach.
Korzystanie z szablonu Bicep
Aby utworzyć przestrzeń nazw z włączoną funkcją replikacji geograficznej, dodaj sekcję właściwości geoDataReplication .
param serviceBusName string
param primaryLocation string
param secondaryLocation string
param maxReplicationLagInSeconds int
resource sb 'Microsoft.ServiceBus/namespaces@2023-01-01-preview' = {
name: serviceBusName
location: primaryLocation
sku: {
name: 'Premium'
tier: 'Premium'
capacity: 1
}
properties: {
geoDataReplication: {
maxReplicationLagDurationInSeconds: maxReplicationLagInSeconds
locations: [
{
locationName: primaryLocation
roleType: 'Primary'
}
{
locationName: secondaryLocation
roleType: 'Secondary'
}
]
}
}
}
Zarządzanie
Po utworzeniu przestrzeni nazw z włączoną funkcją replikacji geograficznej można zarządzać tą funkcją w bloku Replikacja (wersja zapoznawcza).
Przełączanie trybu replikacji
Aby przełączyć się między trybami replikacji lub zaktualizować maksymalne opóźnienie replikacji, kliknij link w obszarze Spójność replikacji, a następnie kliknij pole wyboru, aby włączyć/wyłączyć replikację synchroniczną lub zaktualizować wartość w polu tekstowym, aby zmienić asynchroniczne maksymalne opóźnienie replikacji.
Usuwanie regionu pomocniczego
Aby usunąć region pomocniczy, kliknij przycisk ...-wielokropek obok regionu, a następnie kliknij przycisk Usuń. Aby usunąć region, postępuj zgodnie z instrukcjami w bloku podręcznym.
Przepływ podwyższania poziomu
Podwyższenie poziomu jest wyzwalane ręcznie przez klienta (jawnie za pomocą polecenia lub za pośrednictwem logiki biznesowej należącej do klienta, która wyzwala polecenie) i nigdy przez platformę Azure. Zapewnia to pełnej własności klienta i wgląd w rozwiązanie awarii w sieci szkieletowej platformy Azure. Po wybraniu opcji Planowana promocja usługa czeka, aby nadrobić opóźnienie replikacji przed zainicjowaniem promocji. Z drugiej strony podczas wybierania wymuszonej promocji usługa natychmiast inicjuje podwyższenie poziomu. Przestrzeń nazw zostanie umieszczona w trybie tylko do odczytu od momentu żądania podwyższenia poziomu do momentu ukończenia promocji. Możliwe jest przeprowadzenie wymuszonej promocji w dowolnym momencie po zainicjowaniu planowanej promocji. Dzięki temu użytkownik może przyspieszyć podwyższenie poziomu, gdy planowane przejście w tryb failover trwa dłużej niż jest to wymagane.
Ważne
W przypadku korzystania z wymuszonej promocji wszelkie dane, które nie zostały zreplikowane, mogą zostać utracone.
Po zainicjowaniu promocji:
Nazwa hosta jest aktualizowana tak, aby wskazywała region pomocniczy, co może potrwać do kilku minut.
Uwaga
Bieżący region podstawowy można sprawdzić, inicjując polecenie ping: ping your-namespace-fully-qualified-name
Klienci automatycznie łączą się ponownie z regionem pomocniczym.
Możesz zautomatyzować podwyższanie poziomu za pomocą systemów monitorowania lub niestandardowych rozwiązań do monitorowania. Jednak taka automatyzacja wymaga dodatkowego planowania i pracy, która jest poza zakresem tego artykułu.
Przy użyciu witryny Azure Portal
W portalu kliknij ikonę Podwyższanie poziomu i postępuj zgodnie z instrukcjami w bloku podręcznym, aby usunąć region.
Korzystanie z interfejsu wiersza polecenia platformy Azure
Wykonaj polecenie interfejsu wiersza polecenia platformy Azure, aby zainicjować podwyższenie poziomu. Właściwość Force jest opcjonalna i domyślnie ma wartość false.
az rest --method post --url https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ServiceBus/namespaces/<namespaceName>/failover?api-version=2023-01-01-preview --body "{'properties': {'PrimaryLocation': '<newPrimaryLocation>', 'api-version':'2023-01-01-preview', 'Force':'false'}}"
Monitorowanie replikacji danych
Użytkownicy mogą monitorować postęp zadania replikacji, monitorując metryki opóźnienia replikacji w usłudze Log Analytics.
- Włącz dzienniki metryk w przestrzeni nazw usługi Service Bus zgodnie z opisem w temacie Monitorowanie usługi Azure Service Bus.
- Po włączeniu dzienników metryk należy utworzyć i korzystać z danych z przestrzeni nazw przez kilka minut, zanim zaczniesz wyświetlać dzienniki.
- Aby wyświetlić dzienniki metryk, przejdź do sekcji Monitorowanie usługi Service Bus i kliknij blok Dzienniki . Poniższe zapytanie umożliwia znalezienie opóźnienia replikacji (w sekundach) między regionami podstawowymi i pomocniczymi.
AzureMetrics
| where TimeGenerated > ago(1h)
| where MetricName == "ReplicationLagDuration"
Publikowanie danych
Aplikacje do publikowania mogą publikować dane w replikowanych geograficznie przestrzeniach nazw za pośrednictwem nazwy hosta przestrzeni nazw z włączoną replikacją geograficzną. Podejście do publikowania jest takie samo jak w przypadku replikacji niezwiązanej z replikacją geograficzną i nie są wymagane żadne zmiany w zestawach SDK płaszczyzny danych lub aplikacjach klienckich. Publikowanie może nie być dostępne w następujących okolicznościach:
- Po żądaniu podwyższenia poziomu regionu pomocniczego istniejący region podstawowy odrzuca wszelkie nowe komunikaty publikowane w usłudze Service Bus do momentu zakończenia promocji.
- Gdy opóźnienie replikacji między regionami podstawowymi i pomocniczymi osiągnie maksymalny czas trwania opóźnienia replikacji, obciążenie ruchu przychodzącego wydawcy może zostać ograniczone.
Aplikacje wydawcy nie mogą bezpośrednio uzyskiwać dostępu do żadnych przestrzeni nazw w regionach pomocniczych.
Korzystanie z danych
Korzystanie z aplikacji może korzystać z danych przy użyciu nazwy hosta przestrzeni nazw z włączoną funkcją replikacji geograficznej. Operacje konsumentów nie są obsługiwane od momentu zainicjowania promocji do momentu ukończenia promocji.
Kwestie wymagające rozważenia
Zwróć uwagę na następujące zagadnienia, które należy wziąć pod uwagę w tej wersji:
- W planowaniu promocji należy również wziąć pod uwagę czynnik czasu. Jeśli na przykład utracisz łączność przez dłuższy niż 15 do 20 minut, możesz zdecydować się na zainicjowanie promocji.
- Promowanie złożonej rozproszonej infrastruktury powinno być próbowane co najmniej raz.
Cennik
Warstwa Premium dla usługi Service Bus jest wyceniona na jednostkę obsługi komunikatów. W przypadku funkcji replikacji geograficznej regiony pomocnicze działają na tej samej liczbie jednostek MU co region podstawowy, a ceny są obliczane na podstawie łącznej liczby jednostek MU. Ponadto opłaty są naliczane na podstawie opublikowanej przepustowości w liczbie regionów pomocniczych. W ramach wczesnej publicznej wersji zapoznawczej ta opłata zostanie zrzeknięta.
Następne kroki
- Zobacz dokumentację interfejsu API REST replikacji geograficznej tutaj.
- Uruchom przykład replikacji geograficznej w usłudze GitHub.
- Zobacz przykład replikacji geograficznej, który wysyła komunikaty do aliasu.
Aby dowiedzieć się więcej o komunikatach usługi Service Bus, zobacz następujące artykuły: