Azure Event Hubs — odzyskiwanie po awarii geograficznej
W tym artykule opisano funkcję odzyskiwania po awarii geograficznej, która replikuje metadane i jest ogólnie dostępna. Nie opisuje ona funkcji replikacji geograficznej w publicznej wersji zapoznawczej, która replikuje zarówno dane, jak i metadane. Aby uzyskać więcej informacji, zobacz Replikacja geograficzna.
Cały aktywny model klastra usługi Azure Event Hubs z obsługą strefy dostępności zapewnia odporność na awarie sprzętu i centrum danych. Jeśli jednak awaria, w której cały region i wszystkie strefy są niedostępne, możesz użyć odzyskiwania po awarii geograficznej w celu odzyskania obciążenia i konfiguracji aplikacji. Odzyskiwanie po awarii geograficznej gwarantuje, że cała konfiguracja przestrzeni nazw (event hubs, grupy odbiorców i ustawienia) jest stale replikowana z podstawowej przestrzeni nazw do pomocniczej przestrzeni nazw po połączeniu.
Funkcja odzyskiwania po awarii geograficznej usługi Azure Event Hubs to rozwiązanie odzyskiwania po awarii. Pojęcia i przepływ pracy opisane w tym artykule dotyczą scenariuszy awarii, a nie tymczasowych awarii. Aby zapoznać się ze szczegółowym omówieniem odzyskiwania po awarii na platformie Microsoft Azure, zobacz ten artykuł. W przypadku odzyskiwania po awarii geograficznej można zainicjować tryb failover tylko raz z podstawowego do pomocniczego w dowolnym momencie. Przejście w tryb failover wskazuje wybraną nazwę aliasu przestrzeni nazw do pomocniczej przestrzeni nazw. Po przeniesieniu parowanie zostanie następnie usunięte. Przejście w tryb failover jest niemal natychmiastowe po zainicjowaniu.
Ważne
- Ta funkcja umożliwia natychmiastową ciągłość operacji z tą samą konfiguracją, ale nie replikuje danych zdarzenia. Jeśli awaria nie spowodowała utraty wszystkich stref, dane zdarzenia zachowane w podstawowym centrum zdarzeń po przejściu w tryb failover będą możliwe do odzyskania, a zdarzenia historyczne można uzyskać z tego miejsca po przywróceniu dostępu. W przypadku replikowania danych zdarzeń i obsługi odpowiednich przestrzeni nazw w konfiguracjach aktywnych/aktywnych w celu radzenia sobie z awariami i awariami nie należy polegać na tym zestawie funkcji odzyskiwania po awarii geograficznej, ale postępuj zgodnie ze wskazówkami dotyczącymi replikacji.
- Przypisania kontroli dostępu opartej na rolach (RBAC) firmy Microsoft do jednostek w podstawowej przestrzeni nazw nie są replikowane do pomocniczej przestrzeni nazw. Ręczne tworzenie przypisań ról w pomocniczej przestrzeni nazw w celu zabezpieczenia dostępu do nich.
Podstawowe pojęcia i terminy
Funkcja odzyskiwania po awarii implementuje odzyskiwanie po awarii metadanych i opiera się na podstawowych i pomocniczych przestrzeniach nazw odzyskiwania po awarii. Funkcja odzyskiwania po awarii geograficznej jest dostępna tylko dla warstw standardowych, premium i dedykowanych . Nie musisz wprowadzać żadnych parametry połączenia zmian, ponieważ połączenie jest wykonywane za pośrednictwem aliasu.
W tym artykule są używane następujące terminy:
- Alias: nazwa skonfigurowanej konfiguracji odzyskiwania po awarii. Alias zapewnia jedną stabilną, w pełni kwalifikowaną nazwę domeny (FQDN) parametry połączenia. Aplikacje używają tego aliasu parametry połączenia do nawiązywania połączenia z przestrzenią nazw.
- Podstawowa/pomocnicza przestrzeń nazw: przestrzenie nazw odpowiadające aliasowi. Podstawowa przestrzeń nazw jest aktywna i odbiera komunikaty (może to być istniejąca lub nowa przestrzeń nazw). Pomocnicza przestrzeń nazw jest pasywna i nie odbiera komunikatów. Metadane między obiem są zsynchronizowane, więc obie mogą bezproblemowo akceptować komunikaty bez żadnego kodu aplikacji lub parametry połączenia zmian. Aby upewnić się, że tylko aktywna przestrzeń nazw odbiera komunikaty, należy użyć aliasu.
- Metadane: jednostki, takie jak centra zdarzeń i grupy odbiorców, oraz ich właściwości usługi skojarzone z przestrzenią nazw. Tylko jednostki i ich ustawienia są replikowane automatycznie. Komunikaty i zdarzenia nie są replikowane.
- Tryb failover: proces aktywowania pomocniczej przestrzeni nazw.
Obsługiwane pary przestrzeni nazw
Obsługiwane są następujące kombinacje podstawowych i pomocniczych przestrzeni nazw:
Podstawowa warstwa przestrzeni nazw | Dozwolona dodatkowa warstwa przestrzeni nazw |
---|---|
Standardowa | Standardowa, Dedykowana |
Premium | Premium |
Dedykowane | Dedykowane |
Ważne
Nie można sparować przestrzeni nazw, które znajdują się w tym samym dedykowanym klastrze. Przestrzenie nazw, które znajdują się w oddzielnych klastrach, można sparować.
Konfigurowanie i przepływ trybu failover
W poniższej sekcji omówiono proces pracy w trybie failover i wyjaśniono, jak skonfigurować początkowy tryb failover.
Uwaga
Funkcja odzyskiwania po awarii geograficznej nie obsługuje automatycznego przejścia w tryb failover.
Ustawienia
Najpierw należy utworzyć istniejącą przestrzeń nazw podstawową lub użyć nowej pomocniczej przestrzeni nazw, a następnie utworzyć parę tych dwóch. To parowanie zapewnia alias, którego można użyć do nawiązania połączenia. Ponieważ używasz aliasu, nie musisz zmieniać parametry połączenia. Do parowania trybu failover można dodać tylko nowe przestrzenie nazw.
Utwórz podstawową przestrzeń nazw.
Utwórz pomocniczą przestrzeń nazw w innym regionie. To krok jest opcjonalny. Przestrzeń nazw pomocniczych można utworzyć podczas tworzenia parowania w następnym kroku.
W witrynie Azure Portal przejdź do podstawowej przestrzeni nazw.
Wybierz pozycję Odzyskiwanie geograficzne w menu po lewej stronie, a następnie wybierz pozycję Zainicjuj parowanie na pasku narzędzi.
Na stronie Inicjowanie parowania wykonaj następujące kroki:
- Wybierz istniejącą pomocniczą przestrzeń nazw lub utwórz jedną w innym regionie. W tym przykładzie wybrano istniejącą przestrzeń nazw.
- W polu Alias wprowadź alias dla parowania geo-dr.
- Następnie wybierz przycisk Utwórz.
Powinna zostać wyświetlona strona Alias geo-DR . Możesz również przejść do tej strony z podstawowej przestrzeni nazw, wybierając pozycję Odzyskiwanie geograficzne w menu po lewej stronie.
Na stronie Alias geo-DR wybierz pozycję Zasady dostępu współdzielonego w menu po lewej stronie, aby uzyskać dostęp do parametry połączenia podstawowej dla aliasu. Użyj tej parametry połączenia zamiast bezpośrednio używać parametry połączenia do podstawowej/pomocniczej przestrzeni nazw.
Na tej stronie Przegląd można wykonać następujące czynności:
Przerwij parowanie między podstawowymi i pomocniczymi przestrzeniami nazw. Wybierz pozycję Przerwij parowanie na pasku narzędzi.
Ręczne przełączenie w tryb failover do pomocniczej przestrzeni nazw. Wybierz pozycję Tryb failover na pasku narzędzi.
Ostrzeżenie
Przechodzenie w tryb failover aktywuje pomocniczą przestrzeń nazw i usuwa podstawową przestrzeń nazw z parowania odzyskiwania po awarii geograficznej. Utwórz inną przestrzeń nazw, aby mieć nową parę odzyskiwania po awarii geograficznej.
Na koniec należy dodać pewne monitorowanie, aby wykryć, czy konieczne jest przejście w tryb failover. W większości przypadków usługa jest jedną z części dużego ekosystemu, a tym samym automatyczne przechodzenie w tryb failover jest rzadko możliwe, ponieważ często tryb failover musi być wykonywany w synchronizacji z pozostałym podsystemem lub infrastrukturą.
Przykład
W jednym przykładzie tego scenariusza rozważ rozwiązanie punkt sprzedaży (POS), które emituje komunikaty lub zdarzenia. Usługa Event Hubs przekazuje te zdarzenia do rozwiązania mapowania lub ponownego formatowania, które następnie przekazuje zamapowane dane do innego systemu w celu dalszego przetwarzania. W tym momencie wszystkie te systemy mogą być hostowane w tym samym regionie świadczenia usługi Azure. Decyzja o tym, kiedy i jaka część przejścia w tryb failover zależy od przepływu danych w infrastrukturze.
Tryb failover można zautomatyzować 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.
Przepływ trybu failover
W przypadku zainicjowania trybu failover wymagane są dwa kroki:
- Jeśli wystąpi inna awaria, chcesz ponownie przełączyć się w tryb failover. W związku z tym skonfiguruj inną pasywną przestrzeń nazw i zaktualizuj parowanie.
- Ściąganie komunikatów z poprzedniej podstawowej przestrzeni nazw po ponownym udostępnieniu. Następnie użyj tej przestrzeni nazw do regularnego przesyłania komunikatów poza konfiguracją odzyskiwania geograficznego lub usuń starą przestrzeń nazw podstawowej.
Uwaga
Obsługiwane są tylko semantyka przekazywania dalej w trybie fail. W tym scenariuszu przełączysz się w tryb failover, a następnie ponownie połączysz nową przestrzeń nazw. Powrót po awarii nie jest obsługiwany; na przykład w klastrze SQL.
Ręczne przełączenie w tryb failover
W tej sekcji pokazano, jak ręcznie przejść w tryb failover przy użyciu witryny Azure Portal, interfejsu wiersza polecenia, programu PowerShell, języka C#itp.
W witrynie Azure Portal przejdź do podstawowej przestrzeni nazw.
Wybierz pozycję Odzyskiwanie geograficzne w menu po lewej stronie.
Ręczne przełączenie w tryb failover do pomocniczej przestrzeni nazw. Wybierz pozycję Tryb failover na pasku narzędzi.
Ostrzeżenie
Przełączenie w tryb failover spowoduje aktywowanie pomocniczej przestrzeni nazw i usunięcie podstawowej przestrzeni nazw z parowania odzyskiwania po awarii geograficznej. Utwórz inną przestrzeń nazw, aby mieć nową parę odzyskiwania po awarii geograficznej.
Zarządzanie
W przypadku popełnienia błędu; Na przykład podczas początkowej konfiguracji sparowano nieprawidłowe regiony, można przerwać parowanie dwóch przestrzeni nazw w dowolnym momencie. Jeśli chcesz użyć sparowanych przestrzeni nazw jako zwykłych przestrzeni nazw, usuń alias.
Kwestie wymagające rozważenia
Należy pamiętać o następujących kwestiach:
Zgodnie z projektem odzyskiwanie po awarii geograficznej usługi Event Hubs nie replikuje danych i dlatego nie można ponownie użyć starej wartości przesunięcia podstawowego centrum zdarzeń w pomocniczym centrum zdarzeń. Zalecamy ponowne uruchomienie odbiornika zdarzeń przy użyciu jednej z następujących metod:
- EventPosition.FromStart() — jeśli chcesz odczytać wszystkie dane w pomocniczym centrum zdarzeń.
- EventPosition.FromEnd() — jeśli chcesz odczytać wszystkie nowe dane od czasu połączenia z pomocniczym centrum zdarzeń.
- EventPosition.FromEnqueuedTime(dateTime) — jeśli chcesz odczytać wszystkie dane odebrane w pomocniczym centrum zdarzeń, począwszy od danej daty i godziny.
W planowaniu trybu failover należy również wziąć pod uwagę współczynnik czasu. Jeśli na przykład utracisz łączność przez dłuższy niż 15 do 20 minut, możesz zdecydować się na zainicjowanie trybu failover.
Fakt, że żadne dane nie są replikowane, oznacza, że bieżące aktywne sesje nie są replikowane. Ponadto wykrywanie duplikatów i zaplanowane komunikaty mogą nie działać. Nowe sesje, zaplanowane komunikaty i nowe duplikaty będą działać.
Przechodzenie w tryb failover złożonej rozproszonej infrastruktury powinno być przećwiane co najmniej raz.
Synchronizowanie jednostek może zająć trochę czasu— około 50–100 jednostek na minutę.
Niektóre aspekty płaszczyzny zarządzania dla pomocniczej przestrzeni nazw stają się tylko do odczytu, podczas gdy parowanie odzyskiwania geograficznego jest aktywne.
Płaszczyzna danych pomocniczej przestrzeni nazw będzie tylko do odczytu, a parowanie odzyskiwania geograficznego jest aktywne. Płaszczyzna danych pomocniczej przestrzeni nazw będzie akceptować żądania GET, aby umożliwić walidację łączności klienta i kontroli dostępu.
Prywatne punkty końcowe
Ta sekcja zawiera więcej zagadnień dotyczących korzystania z odzyskiwania po awarii geograficznej z przestrzeniami nazw korzystającymi z prywatnych punktów końcowych. Aby dowiedzieć się więcej na temat używania prywatnych punktów końcowych z usługą Event Hubs, zobacz Konfigurowanie prywatnych punktów końcowych.
Nowe pary
Jeśli spróbujesz utworzyć parowanie między podstawową przestrzenią nazw z prywatnym punktem końcowym i pomocniczym przestrzenią nazw bez prywatnego punktu końcowego, parowanie zakończy się niepowodzeniem. Parowanie powiedzie się tylko wtedy, gdy zarówno podstawowe, jak i pomocnicze przestrzenie nazw mają prywatne punkty końcowe. Zalecamy używanie tych samych konfiguracji w podstawowych i pomocniczych przestrzeniach nazw oraz w sieciach wirtualnych, w których tworzone są prywatne punkty końcowe.
Uwaga
Podczas próby sparowania podstawowej przestrzeni nazw z prywatnym punktem końcowym i pomocniczym przestrzenią nazw proces sprawdzania poprawności sprawdza tylko, czy prywatny punkt końcowy istnieje w pomocniczej przestrzeni nazw. Nie sprawdza, czy punkt końcowy działa, czy działa po przejściu w tryb failover. Twoim zadaniem jest upewnienie się, że pomocnicza przestrzeń nazw z prywatnym punktem końcowym będzie działać zgodnie z oczekiwaniami po przejściu w tryb failover.
Aby sprawdzić, czy konfiguracje prywatnego punktu końcowego są takie same w podstawowych i pomocniczych przestrzeniach nazw, wyślij żądanie odczytu (na przykład: Pobierz centrum zdarzeń) do pomocniczej przestrzeni nazw spoza sieci wirtualnej i sprawdź, czy z usługi jest wyświetlany komunikat o błędzie.
Istniejące pary
Jeśli parowanie między podstawową i pomocniczą przestrzenią nazw już istnieje, tworzenie prywatnego punktu końcowego w podstawowej przestrzeni nazw zakończy się niepowodzeniem. Aby rozwiązać ten problem, najpierw utwórz prywatny punkt końcowy w pomocniczej przestrzeni nazw, a następnie utwórz go dla podstawowej przestrzeni nazw.
Uwaga
Chociaż zezwalamy na dostęp tylko do odczytu do pomocniczej przestrzeni nazw, dozwolone są aktualizacje konfiguracji prywatnego punktu końcowego.
Zalecana konfiguracja
Podczas tworzenia konfiguracji odzyskiwania po awarii dla aplikacji i przestrzeni nazw usługi Event Hubs należy utworzyć prywatne punkty końcowe dla podstawowych i pomocniczych przestrzeni nazw usługi Event Hubs dla sieci wirtualnych hostowania zarówno wystąpień podstawowych, jak i pomocniczych aplikacji.
Załóżmy, że masz dwie sieci wirtualne: VNET-1
, VNET-2
i te podstawowe i pomocnicze przestrzenie nazw: EventHubs-Namespace1-Primary
, EventHubs-Namespace2-Secondary
. Należy wykonać następujące czynności:
- W
EventHubs-Namespace1-Primary
systemie utwórz dwa prywatne punkty końcowe korzystające z podsieci iVNET-1
VNET-2
- W
EventHubs-Namespace2-Secondary
systemie utwórz dwa prywatne punkty końcowe, które korzystają z tych samych podsieci zVNET-1
iVNET-2
Zaletą tego podejścia jest to, że przejście w tryb failover może nastąpić w warstwie aplikacji niezależnie od przestrzeni nazw usługi Event Hubs. Rozważ następujące scenariusze:
Tryb failover tylko dla aplikacji: w tym miejscu aplikacja nie istnieje VNET-1
, ale zostanie przeniesiona do VNET-2
. Ponieważ oba prywatne punkty końcowe są konfigurowane zarówno VNET-1
VNET-2
w przestrzeniach nazw podstawowych, jak i pomocniczych, aplikacja będzie działać.
Tryb failover tylko w przestrzeni nazw usługi Event Hubs: w tym miejscu ponownie, ponieważ oba prywatne punkty końcowe są konfigurowane w obu sieciach wirtualnych zarówno dla podstawowych, jak i pomocniczych przestrzeni nazw, aplikacja będzie po prostu działać.
Uwaga
Aby uzyskać wskazówki dotyczące odzyskiwania po awarii geograficznej sieci wirtualnej, zobacz Virtual Network — Business Continuity (Sieć wirtualna — ciągłość działania).
Kontrola dostępu oparta na rolach
Przypisania kontroli dostępu opartej na rolach (RBAC) firmy Microsoft do jednostek w podstawowej przestrzeni nazw nie są replikowane do pomocniczej przestrzeni nazw. Ręczne tworzenie przypisań ról w pomocniczej przestrzeni nazw w celu zabezpieczenia dostępu do nich.
Powiązana zawartość
Zapoznaj się z poniższymi przykładami lub dokumentacją referencyjną.