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.
Azure Functions to oparta na zdarzeniach usługa obliczeniowa, która umożliwia uruchamianie małych bloków kodu (funkcji) bez konieczności jawnego aprowizowania infrastruktury ani zarządzania nią. Funkcje mogą reagować na zdarzenia, takie jak żądania HTTP, czasomierze, komunikaty kolejek i zmiany w innych usługach platformy Azure, dzięki czemu są one dobrze dostosowane do przetwarzania danych, integrowania systemów i uruchamiania zadań w tle.
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, jak zapewnić odporność usługi Azure Functions na różne potencjalne awarie i problemy, w tym błędy przejściowe, awarie strefy dostępności i awarie całego regionu. Wyróżnia również kluczowe informacje o umowie dotyczącej poziomu usług (SLA) usługi Azure Functions.
Zalecenia dotyczące wdrażania produkcyjnego
Platforma Azure Well-Architected Framework udostępnia zalecenia dotyczące niezawodności, wydajności, zabezpieczeń, kosztów i operacji. Aby zrozumieć, jak te obszary wpływają na siebie i współtworzyć niezawodne rozwiązanie usługi Azure Functions, zobacz Najlepsze rozwiązania dotyczące architektury dla usługi Azure Functions.
Omówienie architektury niezawodności
Podczas wdrażania usługi Azure Functions ważne jest zapoznanie się z kilkoma pojęciami:
Plany hostingu: Plany reprezentują środowisko hostingu dla aplikacji funkcji. Plan określa dostępne zasoby obliczeniowe, model cen i zachowanie skalowania.
Konta magazynowe: Podczas tworzenia aplikacji funkcji należy określić konto magazynowe hosta. Konto magazynowe służy do zarządzania aspektami operacji wewnętrznych aplikacji funkcji, w tym przechowywania kodu funkcji, logowania i zarządzania współbieżnością (takich jak dzierżawy blobów dla niektórych typów wyzwalaczy).
Do wdrożenia można również użyć konta magazynowego. To konto magazynu może być takie samo jak konto magazynu hosta lub inne konto magazynu.
Ważne
Konta magazynu są kluczowymi elementami architektury niezawodności usługi Azure Functions i należy je skonfigurować tak, aby spełniały wymagania dotyczące odporności aplikacji funkcji.
Wyzwalacze i powiązania: umożliwiają one funkcji reagowanie na zdarzenia, odbieranie i zapisywanie danych z innych usług.
Durable Functions: Trwałe funkcje to funkcje stanowe, w tym długotrwałe orkiestracje i procesy stanowe.
W przypadku korzystania z rozszerzenia Durable Functions należy skonfigurować dostawcę usługi magazynu, który przechowuje stan. Należy ocenić charakterystykę niezawodności wybranego magazynu stanów i skonfigurować go tak, aby spełniał wymagania dotyczące odporności.
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.
Rozważ następujące zalecenia dotyczące obsługi błędów przejściowych w aplikacjach funkcji:
Wyzwalacze i powiązania: Platforma Azure Functions obejmuje wbudowaną obsługę błędów przejściowych dla wielu wyzwalaczy i powiązań. Gdy wystąpi błąd przejściowy, gdy obsługiwany wyzwalacz jest wyzwalany lub obsługiwane powiązanie odczytuje lub zapisuje dane, platforma może automatycznie ponowić próbę wykonania operacji. To wbudowane ponawianie prób pomaga zagwarantować, że tymczasowe problemy z łącznością lub przerwy w działaniu usługi nie uniemożliwiają wykonywania funkcji. Aby uzyskać więcej informacji, zobacz Azure Functions error handling and retries (Obsługa błędów i ponawianie prób w usłudze Azure Functions).
Jednak ta ochrona obejmuje tylko błędy przejściowe. Trwałe błędy, takie jak błędnie skonfigurowane parametry połączenia lub usunięty zasób, nie są ponawiane.
Trwałe błędy i powtarzające się błędy przejściowe są traktowane jako błędy i można skonfigurować rejestrowanie w celu przechwytywania informacji o błędach wykonywania funkcji. Aby uzyskać więcej informacji, zobacz How to configure monitoring for Azure Functions (Jak skonfigurować monitorowanie dla usługi Azure Functions).
Kod funkcji: W treści funkcji odpowiadasz za obsługę błędów przejściowych podczas wykonywania wywołań do usług zewnętrznych. Należy zaimplementować logikę ponawiania prób, limity czasu i wzorce wyłącznika odpowiednio dla wszystkich wywołań usług zewnętrznych w kodzie funkcji. Zaprojektuj swoje funkcje tak, aby były idempotentne wszędzie tam, gdzie to możliwe, aby ponowne próby nie powodowały zduplikowanych dodatkowych efektów.
Klienci: Wszystkie aplikacje klienckie, które łączą się z funkcjami synchronicznie, na przykład przy użyciu połączenia HTTP, powinny być odporne na błędy przejściowe.
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.
Plany zużycia nie obsługują stref dostępności. Jeśli nadmiarowość strefowa jest wymogiem dla Twojego obciążenia, rozważ skorzystanie z planów typu Flex Consumption, Premium lub Dedykowany (App Service).
Plany Flex Consumption obsługują wdrożenia strefowo nadmiarowe.
Plany Premium obsługują wdrożenia z redundancją strefową.
Po włączeniu nadmiarowości stref platforma automatycznie rozdziela instancje planu we wszystkich strefach dostępności w wybranym obszarze. Jeśli jakakolwiek strefa dostępności w regionie ma problem, funkcje będą nadal działały przy użyciu wystąpień w zdrowych strefach.
Należy również włączyć strefowo nadmiarową przestrzeń dyskową (ZRS) na koncie magazynowania hosta, co zapewnia odporność na awarie strefowe.
Plan dedykowany (App Service) obsługuje wdrożenia z nadmiarowością strefową. Po włączeniu nadmiarowości strefy platforma automatycznie rozmieszcza wystąpienia we wszystkich strefach dostępności w wybranym regionie. Ustawiasz redundancję strefy na planie. Aby uzyskać pełne informacje na temat obsługi nadmiarowości strefowej w usłudze App Service, zobacz Niezawodność w usłudze Azure App Service.
Jeśli nie włączysz redundancji strefy, plan jest niezonowy lub regionalny, co oznacza, że instancje planu mogą być umieszczone w dowolnej strefie dostępności w regionie lub w tej samej strefie i nie są odporne na awarie stref dostępności. Twój plan może doświadczać przestoju podczas awarii w dowolnej strefie w regionie.
Wymagania
- Obsługa regionów: Plany elastycznego zużycia ze strefową nadmiarowością można wdrożyć do określonego zestawu regionów. Bieżącą listę obsługiwanych regionów można pobrać przy użyciu interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz Wyświetlanie regionów obsługujących strefy dostępności.
Obsługa regionów: Strefowo nadmiarowe plany Premium można wdrożyć w następujących regionach:
Ameryka Europa Bliski Wschód Africa Azja i Pacyfik Brazylia Południowa Francja Środkowa Izrael Środkowy Północna Republika Południowej Afryki 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 Południowo-środkowe stany USA Szwecja Środkowa Azja Południowo-Wschodnia Zachodnie stany USA 2 Szwajcaria Północna Zachodnie stany USA 3 Południowe Zjednoczone Królestwo Europa Zachodnia Systemy operacyjne: Obsługiwane są zarówno plany systemu Windows, jak i Linux.
Minimalna liczba wystąpień: Gdy strefowa nadmiarowość jest włączona dla planów Premium, wymagana jest co najmniej dwa zawsze gotowe wystąpienia.
- Konto magazynu hosta: Musisz skonfigurować domyślne konto magazynu hosta aplikacji funkcji, aby używać magazynu strefowo nadmiarowego (ZRS). Jeśli używasz konta magazynu hosta, które nie jest skonfigurowane dla ZRS, Twoja aplikacja może zachowywać się nieoczekiwanie podczas awarii strefy.
- Konto magazynowania kontenera wdrożenia: Jeśli używasz oddzielnego konta magazynowania dla kontenera wdrażania aplikacji, zaktualizuj je tak, aby było również strefowo redundacyjne.
Zagadnienia do rozważenia
Redundancja strefy zapewnia tylko ciągłą dostępność wdrożonych aplikacji. Awaria strefy dostępności może mieć wpływ na niektóre aspekty usługi Azure Functions, mimo że aplikacja nadal obsługuje ruch. Te zachowania obejmują skalowanie planu, tworzenie aplikacji, konfigurację aplikacji i publikowanie aplikacji.
Dystrybucja wystąpień między strefami
Podczas konfigurowania aplikacji planu Flex Consumption jako redundantnych strefowo, platforma automatycznie rozkłada wystąpienia planu pomiędzy wiele stref w wybranym regionie, stosując różne reguły dla dostępnych zawsze wystąpień oraz wystąpień na żądanie:
Wystąpienia gotowe do użycia są dystrybuowane między co najmniej dwie strefy w sposób rotacyjny.
Aby zapewnić odporność strefy, platforma automatycznie utrzymuje co najmniej dwa zawsze gotowe wystąpienia dla każdej funkcji skalowania lub grupy, niezależnie od zawsze gotowej konfiguracji aplikacji. Wszystkie wystąpienia utworzone przez platformę są zarządzane przez platformę, rozliczane jako zawsze gotowe wystąpienia i nie zmieniają zawsze gotowych ustawień konfiguracji.
Wystąpienia na żądanie są tworzone w wyniku wykorzystywania woluminów źródłowych zdarzeń, gdy aplikacja skalowana jest poza liczbę zawsze gotowych wystąpień. Wystąpienia na żądanie są dystrybuowane między strefami dostępności w sposób optymalny. Priorytetem jest szybsze skalowanie w poziomie, a nie równomierny rozkład między strefami. Platforma próbuje wyrównać rozkład w czasie.
Podczas konfigurowania planów aplikacji funkcji Elastic Premium jako strefowo nadmiarowych platforma automatycznie rozkłada wystąpienia planu między wiele stref w wybranym regionie. Rozprzestrzenianie instancji jest zgodne z tymi zasadami, nawet gdy aplikacja jest skalowana w górę i w dół.
- Minimalna liczba wystąpień aplikacji funkcji to dwa.
- W przypadku określenia pojemności większej niż liczba stref wystąpienia są rozłożone równomiernie tylko wtedy, gdy pojemność jest wielokrotną liczbą stref.
- W przypadku wartości pojemności większej niż liczba stref * liczba wystąpień dodatkowe wystąpienia są rozłożone między pozostałe strefy.
Gdy usługa Functions przydziela wystąpienia do strefowo nadmiarowego planu Premium, korzysta z równoważenia strefy o najlepszym wysiłku, które oferuje bazowe zestawy skalowania maszyn wirtualnych platformy Azure. Plan Premium jest uznawany za zrównoważony, gdy każda strefa ma taką samą liczbę maszyn wirtualnych jak w każdej z pozostałych stref używanych przez plan Premium, z różnicą jednej maszyny wirtualnej.
Koszt
Nie ma dodatkowych kosztów związanych z włączaniem redundancji stref. Ceny planu z redundancją strefową są takie same jak planu z jedną strefą.
Jednak po włączeniu stref dostępności w aplikacji, w której konfiguracja zawsze gotowych wystąpień obejmuje mniej niż dwa wystąpienia dla każdej funkcji skalowania lub grupy, platforma automatycznie tworzy dwa zawsze gotowe wystąpienia dla każdej funkcji skalowania lub grupy. Te nowe instancje są również określane jako instancje zawsze gotowe.
Jeśli jednak włączysz strefy dostępności w planie z mniej niż dwoma wystąpieniami, platforma wymusza minimalną liczbę wystąpień dwóch dla tego planu i naliczane są opłaty za oba wystąpienia.
Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure Functions.
Konfiguruj obsługę stref dostępności
Utwórz nowy strefowo nadmiarowy plan usługi Azure Functions. Redundancję strefową można włączyć podczas tworzenia nowego planu. Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie strefowo nadmiarowej aplikacji funkcji.
Włącz nadmiarowość strefy w istniejącym planie: Możesz zaktualizować istniejący plan Flex Consumption, aby włączyć nadmiarowość strefy. Aby uzyskać szczegółowe instrukcje, zapoznaj się z Włączanie redundancji strefy w istniejącym planie.
Utwórz nowy strefowo nadmiarowy plan usługi Azure Functions. Redundancję strefową można włączyć, gdy tworzysz nowy plan. Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie strefowo nadmiarowej aplikacji funkcji.
Włącz redundancję strefy w istniejącym planie: Redundancję strefy dla planów Premium można aktywować wyłącznie podczas tworzenia planu. Nie da się przekonwertować istniejącego planu Premium na strefowo redundantny. Zamiast tego należy przeprowadzić migrację aplikacji, tworząc wdrożenie równoległe w nowej aplikacji planu Premium. Aby uzyskać więcej informacji, zobacz Włączanie strefowej redundancji w istniejącym planie.
Planowanie pojemności i zarządzanie nimi
Aplikacje funkcji z nadmiarowością strefową nadal działają, nawet gdy strefy w regionie doświadczają awarii.
Podczas awarii strefy usługa Azure Functions wykrywa utracone wystąpienia i automatycznie próbuje zlokalizować lub utworzyć wystąpienia zastępcze w strefach w dobrej kondycji. Ten proces jest wykonywany na zasadzie najlepszego wysiłku i nie jest gwarantowany. Jeśli obciążenie musi mieć pewną liczbę wystąpień, aby zachować oczekiwany poziom usługi, rozważ nadmierną aprowizację liczby zawsze gotowych wystąpień. Takie podejście pozwala rozwiązaniu tolerować pewną utratę pojemności i nadal działać bez obniżonej wydajności. Aby uzyskać więcej informacji, zobacz Zarządzanie pojemnością przy użyciu nadmiernej aprowizacji.
Zachowanie, gdy wszystkie strefy są w dobrej kondycji
W tej sekcji opisano, czego można oczekiwać, gdy plan ma nadmiarowość strefową, konto magazynu hosta wykorzystuje ZRS, a wszystkie strefy dostępności działają.
Operacja między strefami: Podczas konfigurowania nadmiarowości stref w usłudze Azure Functions żądania są automatycznie rozłożone między wystąpienia w każdej strefie dostępności. Żądanie może przejść do dowolnego wystąpienia w dowolnej strefie dostępności.
Replikacja danych między strefami: Usługa Azure Functions to bezstanowa usługa obliczeniowa, więc nie ma danych klientów do replikacji między strefami. Platforma automatycznie replikuje konfigurację między strefami.
Jeśli konto magazynu hosta używa ZRS, usługa Azure Storage synchronicznie replikuje swoje dane w wielu strefach dostępności.
W przypadku rozszerzenia Durable Functions zapoznaj się z dostawcą magazynu, aby dowiedzieć się, jak replikuje dane między strefami.
Zachowanie podczas awarii strefy
W tej sekcji opisano, czego można oczekiwać, gdy plan ma nadmiar strefowy, konto magazynu hosta wykorzystuje ZRS, a występuje awaria strefy dostępności.
- Wykrywanie i reagowanie: Platforma Azure Functions jest odpowiedzialna za wykrywanie awarii w strefie dostępności. Nie musisz nic robić, aby zainicjować tryb failover strefy.
- Powiadomienie: firma Microsoft nie powiadamia cię automatycznie, gdy strefa nie działa. Możesz jednak użyć usługi Azure Resource Health do monitorowania kondycji pojedynczego zasobu i skonfigurować alerty usługi Resource Health w celu powiadamiania o problemach. Możesz również użyć Azure Service Health, aby zrozumieć ogólną kondycję usługi, w tym wszelkie awarie stref, i skonfigurować alerty kondycji usługi, aby powiadamiały Cię o problemach.
Aktywne żądania: Gdy strefa dostępności jest niedostępna, wszystkie żądania, które są połączone z wystąpieniem w uszkodzonej strefie dostępności, zostaną zakończone i należy ponowić próbę. Upewnij się, że aplikacje są przygotowane, postępując zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych.
Oczekiwana utrata danych: Awaria strefy nie powinna powodować utraty danych, ponieważ funkcje Azure są usługą bezstanową.
Jeśli konto magazynu hosta korzysta z ZRS, usługa Azure Storage gwarantuje brak utraty danych w przypadku awarii strefy.
W przypadku rozszerzenia Durable Functions przejrzyj dostawcę przechowywania, aby dowiedzieć się, czy utrata danych jest możliwa podczas awarii w strefie.
Oczekiwany przestój: Podczas przestojów w strefach połączenia mogą wystąpić krótkie przerwy, które zwykle trwają kilka sekund, ponieważ ruch jest redystrybuowany. Upewnij się, że aplikacje są przygotowane, postępując zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych.
Przekierowywanie ruchu: Usługa Azure Functions wykrywa utracone wystąpienia z tej strefy i próbuje znaleźć nowe wystąpienia zastępcze. Gdy usługa Azure Functions znajdzie zastępstwa, dystrybuuje ruch na nowe wystąpienia zgodnie z potrzebami.
Ważne
Platforma Azure nie gwarantuje, że żądania większej liczby wystąpień kończą się powodzeniem w scenariuszu strefowym. Platforma podejmuje próbę wypełnienia utraconych wystąpień w miarę możliwości. Jeśli potrzebujesz gwarantowanej pojemności podczas awarii strefy dostępności, utwórz i skonfiguruj plany, aby uwzględnić utratę strefy przez nadmierną aprowizację pojemności.
Zachowania nie związane z czasem działania: Aplikacje w planie aplikacji funkcji z nadmiarowością strefową nadal działają i obsługują ruch, nawet jeśli w strefie dostępności wystąpi awaria. Jednak zachowania niewynikające z czasu wykonania mogą być dotknięte podczas awarii strefy dostępności. Te zachowania obejmują skalowanie aplikacji funkcji, tworzenie aplikacji, konfigurację aplikacji i publikowanie aplikacji.
Odzyskiwanie strefy
Gdy strefa dostępności zostanie odzyskana, usługa Azure Functions automatycznie przywraca wystąpienia w strefie dostępności, usuwa wszystkie tymczasowe wystąpienia utworzone w innych strefach dostępności i przekierowuje ruch między wystąpieniami w normalny sposób.
Testowanie pod kątem niepowodzeń strefy
Platforma Azure Functions zarządza routingiem ruchu, przełączaniem awaryjnym i odzyskiwaniem strefowym dla zasobów strefowo nadmiarowych. Nie musisz nic inicjować. Ponieważ ta funkcja jest w pełni zarządzana, nie trzeba weryfikować procesów awarii strefy dostępności.
Odporność na awarie całego regionu
Azure Functions to usługa jednoregionowa. Jeśli region stanie się niedostępny, zasób usługi Azure Functions jest również niedostępny.
Niestandardowe rozwiązania obejmujące wiele regionów w celu zapewnienia odporności
Aby uniknąć utraty wykonywania zadań podczas przerw w działaniu, można wdrożyć również te same funkcje w aplikacjach w różnych regionach.
Odpowiadasz za:
- Wdrażanie aplikacji funkcji w wielu regionach
- Zarządzanie dystrybucją ruchu między regionami
- Wdrażanie mechanizmów przełączenia awaryjnego
- Zapewnianie spójności danych w różnych regionach (jeśli dotyczy)
- Monitorowanie wdrożeń między regionami i zarządzanie nimi
Gdy uruchamiasz ten sam kod funkcji w wielu regionach, istnieją dwa powszechnie stosowane wzorce: aktywny-aktywny i aktywny-pasywny. Poniższe sekcje zawierają krótkie wprowadzenie do tych wzorców, ale nie zawierają szczegółowych wskazówek ani kroków konfiguracji.
Wzorzec aktywny-aktywny dla funkcji wyzwalacza HTTP
W przypadku wzorca aktywny-aktywny funkcje w obu regionach aktywnie działają i przetwarzają zdarzenia, w sposób podwójny lub w rotacji. Należy użyć wzorca aktywne-aktywne w połączeniu z usługą Azure Front Door dla krytycznych funkcji wyzwalanych przez protokół HTTP, które mogą kierować i rozdzielać ruch okrężny HTTP między funkcjami uruchomionymi w wielu regionach. Usługa Azure Front Door może również okresowo sprawdzać kondycję każdego punktu końcowego. Jeśli funkcja w jednym regionie przestaje odpowiadać na kontrole kondycji, usługa Azure Front Door usuwa ją z rotacji i przekazuje ruch tylko do pozostałych funkcji w dobrej kondycji.
Wzorzec aktywny-pasywny dla funkcji wyzwalaczy innych niż HTTP
W przypadku funkcji sterowanych zdarzeniami niezwiązanych z protokołem HTTP (takich jak funkcje wyzwalane przez usługę Service Bus i Event Hubs) należy użyć wzorca aktywnego-pasywnego. W przypadku wzorca aktywne-pasywne funkcje działają aktywnie w regionie, w którym są odbierane zdarzenia, a te same funkcje w drugim regionie pozostają bezczynne. Wzorzec aktywny-pasywny umożliwia przetwarzanie każdego komunikatu tylko przez jedną funkcję, co jest ważne w celu zachowania spójności danych, a jednocześnie zapewnia mechanizm przełączania w tryb failover do regionu pomocniczego w przypadku awarii, takiej jak awaria regionu.
Należy uwzględnić przełączanie awaryjne aplikacji funkcji wraz z przełączaniem awaryjnym innych usług, takich jak:
- Replikacja geograficzna i odzyskiwanie po katastrofie geograficznej w usłudze Azure Service Bus
- Replikacja geograficzna i odzyskiwanie po awarii geograficznej usługi Azure Event Hubs
Weźmy pod uwagę przykładową topologię z wykorzystaniem wyzwalacza Azure Event Hubs, w której przestrzeń nazw Azure Event Hubs jest skonfigurowana do geograficznego odzyskiwania po awarii. W takim przypadku wzorzec aktywny-pasywny wymaga następujących składników:
- Usługa Azure Event Hubs wdrożona zarówno w regionie podstawowym, jak i pomocniczym.
- Odzyskiwanie po katastrofie geograficznej pozwala na sparowanie podstawowych i pomocniczych centrów zdarzeń. Spowoduje to również utworzenie aliasu , za pomocą którego można nawiązać połączenie z przestrzenią nazw usługi Event Hubs, i przełączyć się z podstawowej na pomocniczą bez zmieniania informacji o połączeniu.
- Aplikacje funkcji wdrożone w regionie podstawowym i pomocniczym (tryb awaryjny), przy czym aplikacja w regionie pomocniczym jest zasadniczo bezczynna, ponieważ komunikaty nie są tam wysyłane.
- Aplikacja funkcji jest wyzwalana przez bezpośredni (niealias) ciąg połączenia dla odpowiedniej przestrzeni nazw Event Hubs.
- Wydawcy w przestrzeni nazw usługi Event Hubs powinni publikować do aliasu w parametrach połączenia.
Przed przełączeniem w tryb failover, wydawcy wysyłający do udostępnionego aliasu kierują swoje wiadomości do podstawowego centrum zdarzeń. Podstawowa aplikacja funkcji nasłuchuje wyłącznie na podstawowe centrum zdarzeń. Aplikacja funkcji pomocniczej jest pasywna i bezczynna.
Po zainicjowaniu trybu failover wydawcy wysyłający do udostępnionego aliasu są kierowani do pomocniczego centrum zdarzeń. Aplikacja funkcji pomocniczej staje się teraz aktywna i uruchamia się automatycznie. Skuteczne przejście w tryb "failover" (przełączenie awaryjne) do regionu pomocniczego może być w pełni zarządzane przez centrum zdarzeń, a funkcje zostają aktywowane jedynie, gdy odpowiednie centrum zdarzeń jest aktywne.
Funkcje Trwałe (Durable Functions)
Aby uzyskać odzyskiwanie po awarii w wielu regionach dla Funkcji Trwałych, zobacz Odzyskiwanie po awarii i rozproszenie geograficzne w usłudze Azure Durable Functions.
Odporność usługi na prace konserwacyjne
Usługa Azure Functions wykonuje regularne uaktualnienia usług i inne zadania konserwacji.
- Odporność błędów przejściowych: Podczas konserwacji usługi wystąpienia uruchamiające aplikację funkcji mogą być uruchamiane ponownie lub występują tymczasowe przerwy. Upewnij się, że wszystkie aplikacje klienckie, które wchodzą w interakcję z aplikacją funkcji, są odporne na błędy przejściowe.
- Włącz redundancję strefową: Po włączeniu redundancji strefowej w planie, zwiększasz także odporność podczas aktualizacji platformy. Wdrożenie wielu instancji w swoim planie i włączenie nadmiarowości strefowej dla planu dodaje dodatkowy poziom odporności, jeśli instancja lub strefa stanie się niestabilna podczas aktualizacji.
Aby zachować oczekiwaną wydajność podczas aktualizacji, platforma automatycznie dodaje dodatkowe wystąpienia planu podczas procesu aktualizacji.
- Włącz dublowanie stref: Po włączeniu dublowania stref w planie, również zwiększa się odporność podczas aktualizacji platformy. Domeny aktualizacji składają się z kolekcji maszyn wirtualnych, które przechodzą w tryb offline podczas aktualizacji, i mapują je na strefy dostępności. Wdrożenie wielu wystąpień w planie i włączenie redundancji strefowej dla planu zapewnia dodatkową warstwę odporności, jeśli wystąpienie lub strefa stanie się niesprawne podczas aktualizacji.
Środowisko App Service Environment: Jeśli hostujesz aplikację funkcji w środowisku App Service Environment, możesz dostosować cykl uaktualniania. Jeśli musisz zweryfikować wpływ uaktualnień na obciążenie, włącz uaktualnienia ręczne. Takie podejście umożliwia przeprowadzenie walidacji i testowania w wystąpieniu nieprodukcyjnym przed zastosowaniem ich do wystąpienia produkcyjnego.
Aby uzyskać więcej informacji na temat preferencji konserwacji, zobacz Uaktualnianie preferencji dotyczących planowanej konserwacji środowiska App Service Environment.
Odporność na wdrożenia aplikacji
Wdrożenia aplikacji powodują ryzyko problemów ze środowiskiem produkcyjnym. Jeśli wystąpią problemy, należy przygotować się do wycofania aktualizacji. Należy również kontrolować sposób wdrażania aktualizacji, aby zminimalizować zakłócenia po ponownym uruchomieniu aplikacji.
Plany Flex Consumption obsługują strategie aktualizacji witryny, które udostępniają wiele sposobów wdrażania aktualizacji aplikacji, w tym aktualizacje naprzemienne dla wdrożeń bez przestojów.
Miejsca wdrożenia usługi Azure Functions umożliwiają wdrażanie aplikacji funkcji bez przestojów. Użyj miejsc wdrożenia, aby zminimalizować wpływ wdrożeń i zmian konfiguracji dla użytkowników. Miejsca wdrożenia zmniejszają również prawdopodobieństwo ponownego uruchomienia aplikacji. Ponowne uruchomienie aplikacji powoduje błąd przejściowy.
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.
Usługa Azure Functions zapewnia odrębne umowy SLA dotyczące dostępności dla planu konsumpcji oraz dla innych typów planów.
Treści powiązane
- Konfigurowanie stref dostępności dla usługi Azure Functions
- Odzyskiwanie po awarii i dystrybucja geograficzna w usłudze Azure Durable Functions
- Tworzenie usługi Azure Front Door
- Zagadnienia dotyczące trybu failover usługi Event Hubs
- Przewodnik centrum architektury platformy Azure dotyczący stref dostępności
- Niezawodność na platformie Azure