Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure App Configuration centralnie przechowuje ustawienia konfiguracji aplikacji i flagi funkcji oraz zarządza nimi, zastępując pliki konfiguracji osadzone bezpośrednio w aplikacjach. Takie podejście umożliwia aktualizacje dynamiczne, przechowywanie wersji wartości konfiguracji i historyczne śledzenie zmian konfiguracji w czasie. Dostępność i niezawodność usługi App Configuration są ważnymi zagadnieniami, ponieważ zachowanie aplikacji może bezpośrednio zależeć od dostępu do danych konfiguracji w czasie wykonywania.
W przypadku korzystania z platformy Azure niezawodność jest wspólną odpowiedzialnością. Firma Microsoft oferuje szereg możliwości wspierania odporności systemów i odzyskiwania. Odpowiadasz za zrozumienie, jak te możliwości działają w ramach wszystkich używanych usług oraz za wybór tych, które są potrzebne do osiągnięcia Twoich celów biznesowych i celów dotyczących niezawodności.
W tym artykule opisano architekturę niezawodności usługi Azure App Configuration i wyjaśniono, jak usługa została zaprojektowana tak, aby pozostawała dostępna podczas przejściowych błędów, awarii strefy dostępności i awarii regionów.
Zalecenia dotyczące wdrażania produkcyjnego pod kątem niezawodności
W przypadku większości wdrożeń produkcyjnych usługi App Configuration należy wziąć pod uwagę następujące zalecenia:
- SKU: Użyj SKU w wersji Standard lub Premium.
- Ochrona przed usuwaniem miękkim i przed permanentnym usunięciem: Włącz ochronę przed usuwaniem miękkim i permanentnym usunięciem, aby chronić przed usunięciem danych.
- W przypadku scenariuszy o znaczeniu krytycznym: Użyj jednostki SKU Premium i skonfiguruj dołączoną replikę, aby umożliwić replikację w wielu regionach, zwiększając dostępność i odporność na awarie regionów.
Aby uzyskać listę zalecanych rozwiązań i konfiguracji obciążeń produkcyjnych, zobacz Tworzenie aplikacji o wysokiej odporności.
Omówienie architektury niezawodności
Podczas wdrażania usługi App Configuration należy wdrożyć magazyn. Sklep zawiera różne typy ustawień, które aplikacja może używać, w tym klucze i wartości oraz flagi funkcji. Usługa obejmuje również wbudowane funkcje organizowania, zabezpieczania, przechowywania wersji i bezpiecznego wdrażania zmian konfiguracji w środowiskach. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure App Configuration?
App Configuration to w pełni zarządzana usługa. Firma Microsoft jest odpowiedzialna za przechowywanie ustawień i zarządzanie nimi, a także wykonywanie konserwacji w usłudze.
Podczas tworzenia aplikacji klienckich łączących się z usługą Azure App Configuration możesz opcjonalnie użyć usługi App Configuration z usługą Azure Front Door (wersja zapoznawcza), aby włączyć buforowanie i globalne przyspieszanie ruchu. Ta konfiguracja wprowadza inne zagadnienia dotyczące replikacji geograficznej, które zostały wyróżnione w tym artykule, jeśli jest to konieczne.
Odporność na błędy przejściowe
Błędy przejściowe to krótkotrwałe, sporadyczne awarie w komponentach. Występują one często w środowisku rozproszonym, takich jak chmura, i są one normalną częścią operacji. Błędy przejściowe naprawiają się po krótkim czasie. Ważne jest, aby aplikacje mogły obsługiwać błędy przejściowe, zwykle ponawiając próby żądań, których dotyczy problem.
Wszystkie aplikacje hostowane w chmurze powinny postępować zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych platformy Azure podczas komunikowania się z dowolnymi interfejsami API hostowanymi w chmurze, bazami danych i innymi składnikami. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące obsługi błędów przejściowych.
W przypadku korzystania z usługi Azure App Configuration należy wziąć pod uwagę następujące najlepsze rozwiązania, aby zminimalizować wpływ przejściowych błędów na dostęp do konfiguracji, szczególnie w krytycznych ścieżkach kodu.
- Dostawcy konfiguracji: Użyj dostawców konfiguracji App Configuration, którzy mają wbudowane funkcje ponawiania prób i buforowania, a także wiele innych funkcji związanych z odpornością.
- Zestawy SDK platformy Azure: Użyj zestawów SDK usługi App Configuration, jeśli aplikacja musi wysyłać żądania zapisu. SDK automatycznie ponawiają próby przy odpowiedziach kodu stanu HTTP 429 i innych przejściowych błędach.
-
Logika ponawiania prób: Uwzględnij logikę ponawiania prób w niestandardowych klientach, jeśli nie możesz używać dostawców konfiguracji aplikacji ani zestawów SDK. Nagłówek
retry-after-msw odpowiedzi zawiera sugerowany czas oczekiwania w milisekundach przed ponowną próbą żądania. - Buforowanie: Konfiguracja buforowania w pamięci, jeśli to możliwe, aby zmniejszyć bezpośrednie żądania do sklepu.
Aby uzyskać inne wskazówki dotyczące konfiguracji aplikacji, zobacz Azure App Configuration — często zadawane pytania.
Odporność na błędy strefy dostępności
Strefy dostępności są fizycznie oddzielnymi grupami centrów danych w regionie świadczenia usługi Azure. Gdy jedna strefa ulegnie awarii, usługi mogą przejść w tryb failover do jednej z pozostałych stref.
Usługa App Configuration automatycznie zapewnia redundancję strefową w regionach, które obsługują strefy dostępności. Ta nadmiarowość zapewnia wysoką dostępność w regionie bez konieczności stosowania określonej konfiguracji.
Gdy strefa dostępności stanie się niedostępna, usługa App Configuration automatycznie przekierowuje żądania do innych stref dostępności w dobrej kondycji, aby zapewnić wysoką dostępność.
Wymagania
Obsługa regionów: Magazyny wdrożone w poniższych regionach są automatycznie redundantne w ramach stref:
| Ameryka | Europa | Bliski Wschód | Africa | Azja i Pacyfik |
|---|---|---|---|---|
| Brazylia Południowa | Francja Środkowa | Izrael Środkowy | Australia Wschodnia | |
| Kanada Środkowa | Niemcy Środkowo-Zachodnie | Katar Środkowy | Indie Środkowe | |
| Środkowe stany USA | Włochy Północne | Północne Zjednoczone Emiraty Arabskie | Chiny Północne 3 | |
| Wschodnie stany USA | Europa Północna | Azja Wschodnia | ||
| Wschodnie stany USA 2 | Norwegia Wschodnia | Japonia Wschodnia | ||
| Meksyk Środkowy | Polska Środkowa | Korea Środkowa | ||
| Południowo-środkowe stany USA | Hiszpania Środkowa | Azja Południowo-Wschodnia | ||
| US Gov Wirginia | Szwecja Środkowa | |||
| Zachodnie stany USA 2 | Szwajcaria Północna | |||
| Zachodnie stany USA 3 | Południowe Zjednoczone Królestwo | |||
| Europa Zachodnia |
Koszt
W usłudze Azure App Configuration nie ma dodatkowych kosztów za redundancję strefową.
Konfiguruj obsługę stref dostępności
Firma Microsoft automatycznie włącza nadmiarowość strefową dla magazynu, gdy znajduje się w regionie obsługującym strefy dostępności.
Jeśli usługa App Configuration doda obsługę strefy dostępności do istniejącego regionu, nie musisz nic robić, aby rozpocząć korzystanie z obsługi strefy dostępności. Twój sklep skorzysta z obsługi stref dostępności, która stała się dostępna dla sklepów App Configuration w regionie.
Zachowanie, gdy wszystkie strefy są w dobrej kondycji
Jeśli magazyn znajduje się w regionie obsługującym nadmiarowość strefową, a wszystkie strefy dostępności działają, można oczekiwać następującego zachowania:
Operacja między strefami: Usługa App Configuration automatycznie zarządza routingiem ruchu między strefami dostępności. W trakcie normalnej pracy przezroczyście dystrybuuje żądania między strefami.
Replikacja danych między strefami: W regionach obsługujących strefy usługa App Configuration synchronicznie replikuje dane między strefami dostępności. Ta replikacja gwarantuje, że ustawienia pozostaną spójne i dostępne, nawet jeśli strefa stanie się niedostępna.
Zachowanie podczas awarii strefy
W tej sekcji opisano, czego można oczekiwać, gdy sklep znajduje się w regionie obsługującym nadmiarowość strefową, a strefa dostępności jest niedostępna.
- Wykrywanie i reagowanie: Usługa App Configuration wykrywa błędy strefy i automatycznie odpowiada na nie. Nie musisz podejmować żadnych działań podczas awarii strefy.
- Powiadomienie: Firma Microsoft nie powiadamia cię automatycznie, gdy strefa nie działa. Możesz jednak użyć usługi Azure Service Health , aby zrozumieć ogólną kondycję usługi, w tym wszelkie błędy strefy, i skonfigurować alerty usługi Service Health w celu powiadamiania o problemach.
Aktywne żądania: Podczas awarii strefy, której dotyczy problem, strefa może nie obsługiwać żądań w locie, co wymaga, aby aplikacje klienckie ponawiały próby. Aplikacje klienckie powinny postępować zgodnie z przejściowymi rozwiązaniami dotyczącymi obsługi błędów , aby upewnić się, że mogą ponowić próby żądań w przypadku wystąpienia awarii strefy.
Oczekiwana utrata danych: Brak utraty danych podczas awarii strefy z powodu synchronicznej replikacji między strefami.
Oczekiwany przestój: Nie oczekiwano przestoju.
Redystrybucja: Usługa App Configuration automatycznie przekierowuje ruch ze strefy dotkniętej problemem do stref w dobrej kondycji, bez konieczności interwencji klienta.
Odzyskiwanie strefy
Gdy odzyska dostępność strefa, która była wcześniej niedostępna, usługa App Configuration automatycznie przywraca normalne operacje we wszystkich strefach dostępności. Nie musisz podejmować żadnych działań w celu odzyskania sprawności po awarii strefy.
Testowanie pod kątem niepowodzeń strefy
Platforma Azure App Configuration zarządza routingiem ruchu, przełączaniem awaryjnym i odzyskiwaniem stref dla strefowo nadmiarowych magazynów. Ponieważ ten proces jest w pełni zarządzany przez firmę Microsoft, nie musisz weryfikować procesów awarii strefy dostępności.
Odporność na awarie całego regionu
Usługa Azure App Configuration zapewnia natywne funkcje replikacji geograficznej w celu zapewnienia odporności podczas awarii regionów. Replikacja geograficzna umożliwia replikowanie danych konfiguracji w różnych regionach jako funkcji usługi zarządzanej.
Geo-replication
Replikacja geograficzna umożliwia replikowanie magazynu w wielu regionach świadczenia usługi Azure. Każdy magazyn może mieć wiele replik w różnych regionach. Oryginalny magazyn jest również repliką. Ta funkcja pomaga chronić aplikacje przed zakłóceniami obejmującymi cały region.
Wymagania
Obsługa regionów: Repliki można tworzyć w dowolnym regionie obsługiwanym przez Azure App Configuration, nawet jeśli regiony nie są sparowane z innymi regionami Azure.
Warstwa: Magazyn konfiguracji musi używać obsługiwanej warstwy, aby włączyć replikację geograficzną. Aby uzyskać więcej informacji, zobacz Włączanie replikacji geograficznej.
Rozważania
Po włączeniu replikacji geograficznej należy wziąć pod uwagę następujące czynniki:
Repliki z nadmiarowością strefową: Każda replika tworzona w regionie, w którym usługa App Configuration obsługuje strefy dostępności, ma automatyczną nadmiarowość strefową.
Azure Front Door: Aby włączyć dostarczanie konfiguracji geograficznie nadmiarowej za pomocą usługi Azure Front Door, skonfiguruj repliki usługi App Configuration jako źródła w grupie pochodzenia. Prawidłowa konfiguracja źródła umożliwia usłudze Azure Front Door zarządzanie routingiem opartym na kondycji, równoważeniem obciążenia i automatycznym trybem failover w różnych regionach. Aby uzyskać więcej informacji, zobacz Metody routingu ruchu do źródła.
Koszt
Każdy region geograficznie replikowany jest rozliczany oddzielnie zgodnie z cennikiem odpowiedniego poziomu i regionu. Opłaty za ruch wychodzący danych nie są naliczane w przypadku replikacji między regionami. Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure App Configuration.
Konfigurowanie obsługi wielu regionów
Aby skonfigurować replikację dla nowo utworzonego magazynu konfiguracji, zobacz Włączanie replikacji geograficznej.
Zachowanie, gdy wszystkie regiony są w dobrej kondycji
W tej sekcji opisano, czego można oczekiwać podczas konfigurowania magazynu usługi App Configuration na potrzeby replikacji geograficznej, a wszystkie regiony działają.
Operacja między strefami: Każda replika jest adresowalna indywidualnie i ma własną nazwę DNS. Wszystkie repliki mogą akceptować operacje odczytu i zapisu.
Usługa Azure App Configuration nie kieruje automatycznie ruchu między regionami. W przypadku korzystania z dostawców konfiguracji usługi App Configuration aplikacja może opcjonalnie używać automatycznego odnajdywania replik. Alternatywnie można określić priorytetową listę replik, a usługa App Configuration wybiera pierwszą replikę w dobrej kondycji. Dzięki temu aplikacja może kontrolować, której repliki używa.
Uwaga / Notatka
W przypadku korzystania z usługi Azure Front Door zachowanie routingu ruchu jest inne. Aby uzyskać więcej informacji, zobacz sekcję Przełączanie awaryjne i równoważenie obciążenia.
Replikacja danych między strefami: Dane są replikowane asynchronicznie i ostatecznie są spójne. Metryka opóźnienia replikacji w usłudze Azure Monitor umożliwia monitorowanie bieżącego opóźnienia replikacji między replikami.
Zachowanie podczas awarii regionu
W tej sekcji opisano, czego można oczekiwać podczas konfigurowania magazynu usługi App Configuration na potrzeby replikacji geograficznej i awarii w jednym z regionów repliki.
Wykrywanie i reagowanie: Firma Microsoft jest odpowiedzialna za wykrywanie awarii regionów lub replik i inicjowanie procesów odzyskiwania.
Jeśli używasz dostawców konfiguracji usługi App Configuration i przeprowadzasz automatyczne odnajdywanie replik lub korzystasz z listy wielu replik, aplikacja automatycznie przełączy się na inną, zdrową replikę.
Jeśli nie używasz dostawców usługi App Configuration, odpowiadasz za przełączenie aplikacji na replikę w dobrej kondycji.
Powiadomienie: Firma Microsoft nie powiadamia cię automatycznie, gdy region nie działa. Możesz jednak użyć usługi Azure Service Health , aby zrozumieć ogólną kondycję usługi, w tym wszelkie awarie regionów, i skonfigurować alerty usługi Service Health w celu powiadamiania o problemach.
Aktywne żądania: Aktywne żądania względem repliki w regionie mogą zostać porzucone. Aplikacje klienckie powinny ponowić próby żądań względem innej repliki.
Oczekiwana utrata danych: Jeśli replika ulegnie awarii, ostatnie zmiany wprowadzone w tej repliki mogą nie zostać jeszcze zreplikowane do innych replik. Te zmiany mogą pozostać niedostępne do czasu odzyskania repliki. Aby oszacować potencjalną utratę danych, monitoruj metryki opóźnienia replikacji w usłudze Azure Monitor.
Oczekiwany przestój: Gdy replika stanie się niedostępna, pozostaje w trybie offline, dopóki jej region nie zostanie odzyskany. Inne repliki nadal obsługują żądania. Aplikacje mogą mieć krótki przestój podczas wykrywania awarii i przełączania się do repliki w dobrej kondycji. Czas trwania zależy od tego, jak szybko każda aplikacja przeprowadza to wykrywanie i przełączenie awaryjne.
Redystrybucja: Aplikacje muszą kierować ruch do sprawnej kopii, gdy wystąpi awaria.
Jeśli używasz dostawców konfiguracji z usługi App Configuration, to automatycznie obsługują oni wybór repliki oraz przełączanie awaryjne.
Jeśli umieścisz usługę Azure Front Door przed magazynem danych i skonfigurujesz grupę źródeł z wieloma replikami jako źródłami trybu failover, usługa Azure Front Door automatycznie przekierowuje żądania do repliki w dobrej kondycji.
Odzyskiwanie regionów
Po odbudowie regionu, usługa App Configuration przywraca replikę do stanu synchronizacji z innymi replikami bez interwencji użytkownika.
Jesteś odpowiedzialny za ponowne skonfigurowanie aplikacji w celu przekierowania ruchu z powrotem do przywróconej instancji regionu. Aplikacje korzystające z dostawców usługi App Configuration automatycznie zaczynają ponownie korzystać z repliki.
Testowanie pod kątem błędów regionów
Obecnie nie można przeprowadzić symulacji trybu awaryjnego repliki w usłudze App Configuration. Jednak ponieważ aplikacje kontrolują wybór repliki, można przetestować zachowanie trybu failover, zmuszając aplikację do stanu, w którym musi przełączać repliki.
Aby zweryfikować zachowanie repliki aplikacji w trybie failover, możesz wprowadzić kontrolowany błąd łączności w środowisku nieprodukcyjnym i obserwować sposób reagowania aplikacji.
Jednym z podejść jest użycie komputera lokalnego lub innego środowiska, w którym masz dostęp administracyjny. Wykonaj te kroki:
Włącz pełne rejestrowanie dla zestawu Azure SDK. Na platformie .NET użyj
AzureEventSourceListenerklasy , aby skonfigurować rejestrator. Aby uzyskać więcej informacji, zobacz Samouczek: używanie konfiguracji dynamicznej w aplikacji .NET — rejestrowanie i monitorowanie.Ręcznie skonfiguruj plik
hosts, aby żądania do magazynu App Configuration były kierowane do adresu IP, który nie może ich odbierać, na przykład127.0.0.1(localhost).Ostrzeżenie
Ten krok skutecznie blokuje dostęp z komputera do sklepu konfiguracyjnego aplikacji. Wykonaj tylko te kroki w środowisku nieprodukcyjnym.
Monitoruj dzienniki pod kątem komunikatu podobnego do następującego:
[Warning] Microsoft-Extensions-Configuration-AzureAppConfiguration-Refresh: Failed to get configuration settings from endpoint 'https://myappconfigstore.azconfig.io'. Failing over to endpoint https://myappconfigstore-eus.azconfig.io'.Ten komunikat wskazuje, że aplikacja pomyślnie przełączyła się w tryb failover, aby użyć innej repliki magazynu.
Po zakończeniu testu cofnij zmiany w
hostspliku.
Tworzenie kopii zapasowej i przywracanie
Usługa Azure App Configuration umożliwia eksportowanie danych konfiguracji z magazynu i używanie ich w ramach szerszej strategii tworzenia kopii zapasowych.
W przypadku większości rozwiązań nie należy polegać wyłącznie na kopiach zapasowych. Zamiast tego skorzystaj z innych możliwości opisanych w tym przewodniku, aby spełnić wymagania dotyczące odporności. Jednak kopie zapasowe chronią przed pewnymi zagrożeniami, których nie zapewniają inne podejścia. Aby uzyskać więcej informacji, zobacz Co to jest nadmiarowość, replikacja i kopia zapasowa?.
Odporność na przypadkowe usunięcie
Usługa App Configuration udostępnia dwie kluczowe funkcje odzyskiwania, aby zapobiec przypadkowemu lub złośliwemu usunięciu:
Usuwanie nietrwałe: Po włączeniu usuwania nietrwałego można odzyskać usunięte magazyny i ustawienia w konfigurowalnym okresie przechowywania. Miękkie usuwanie można traktować jak kosz na zasoby usługi App Configuration.
Ochrona przed usunięciem: Po włączeniu, ochrona przed usunięciem uniemożliwia trwałe usunięcie sklepu i jego ustawień aż do upływu okresu retencji. To zabezpieczenie zapobiega trwałemu niszczeniu ustawień przez złośliwych podmiotów.
Użyj obu funkcji dla środowisk produkcyjnych. Aby uzyskać więcej informacji, zobacz Usuwanie miękkie i ochrona przed czyszczeniem.
Odporność usługi na prace konserwacyjne
Firma Microsoft regularnie przeprowadza aktualizacje usług i inną konserwację. Usługa automatycznie obsługuje te działania, zapewniając, że konserwacja jest bezproblemowa i przejrzysta dla Ciebie. Podczas zdarzeń konserwacyjnych nie jest oczekiwany żaden przestój, chyba że zostałeś powiadomiony przez zaplanowaną konserwację w Azure Service Health.
Odporność na problemy z konfiguracją
Nieprawidłowe lub przypadkowe zmiany konfiguracji mogą spowodować przestój aplikacji. Używaj migawek konfiguracji, aby bezpiecznie wprowadzać zmiany w konfiguracji. Monitoruj kondycję aplikacji po wszelkich zmianach konfiguracji i przywróć ostatnią znaną dobrą migawkę konfiguracji, jeśli zmiany wprowadzają problem.
Umowa dotycząca poziomu usług
Umowa dotycząca poziomu usług (SLA) dla usług platformy Azure opisuje oczekiwaną dostępność każdej usługi oraz warunki, które rozwiązanie musi spełnić, aby osiągnąć te oczekiwania dotyczące dostępności. Aby uzyskać więcej informacji, zobacz Umowy SLA dotyczące usług online.