Udostępnij za pośrednictwem


Azure Event Hubs — odzyskiwanie po awarii geograficznej

Uwaga

Ten artykuł dotyczy ogólnie dostępnej funkcji odzyskiwania po awarii geograficznej, która replikuje metadane, a nie funkcję replikacji geograficznej w publicznej wersji zapoznawczej opisanej w temacie 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 standardowych, premium i dedykowanych jednostek SKU. 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

Uwaga

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.

Obraz przedstawiający przegląd procesu trybu 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.

  1. Utwórz podstawową przestrzeń nazw.

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

  3. W witrynie Azure Portal przejdź do podstawowej przestrzeni nazw.

  4. Wybierz pozycję Odzyskiwanie geograficzne w menu po lewej stronie, a następnie wybierz pozycję Zainicjuj parowanie na pasku narzędzi.

    Inicjowanie parowania z podstawowej przestrzeni nazw

  5. Na stronie Inicjowanie parowania wykonaj następujące kroki:

    1. Wybierz istniejącą pomocniczą przestrzeń nazw lub utwórz jedną w innym regionie. W tym przykładzie wybrano istniejącą przestrzeń nazw.
    2. W polu Alias wprowadź alias dla parowania geo-dr.
    3. Następnie wybierz przycisk Utwórz.

    Wybierz pomocniczą przestrzeń nazw

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

    Strona aliasu geo-DR

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

  8. Na tej stronie Przegląd można wykonać następujące czynności:

    1. Przerwij parowanie między podstawowymi i pomocniczymi przestrzeniami nazw. Wybierz pozycję Przerwij parowanie na pasku narzędzi.

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

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, dlatego 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:

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

  2. Ś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.

Obraz przedstawiający przepływ trybu failover

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.

  1. W witrynie Azure Portal przejdź do podstawowej przestrzeni nazw.

  2. Wybierz pozycję Odzyskiwanie geograficzne w menu po lewej stronie.

  3. 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:

  1. 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.
  2. 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.

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

  4. Przechodzenie w tryb failover złożonej rozproszonej infrastruktury powinno być przećwiane co najmniej raz.

  5. Synchronizowanie jednostek może zająć trochę czasu— około 50–100 jednostek na minutę.

  6. Niektóre aspekty płaszczyzny zarządzania dla pomocniczej przestrzeni nazw stają się tylko do odczytu, podczas gdy parowanie odzyskiwania geograficznego jest aktywne.

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

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 usłudze EventHubs-Namespace1-Primary utwórz dwa prywatne punkty końcowe używające podsieci z sieci wirtualnej VNET-1 i VNET-2
  • W usłudze EventHubs-Namespace2-Secondary utwórz dwa prywatne punkty końcowe, które używają tych samych podsieci z sieci VNET-1 i VNET-2

Prywatne punkty końcowe i sieci wirtualne

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 będzie istnieć w sieci wirtualnej VNET-1, ale zostanie przeniesiona do sieci wirtualnej VNET-2. Ponieważ oba prywatne punkty końcowe są konfigurowane zarówno w sieci wirtualnej VNET-1, jak i VNET-2 zarówno dla podstawowych, jak i pomocniczych przestrzeni nazw, 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.

Następne kroki

Zapoznaj się z poniższymi przykładami lub dokumentacją referencyjną.