Aplikacja internetowa z dwoma regionami z trybem failover usługi Table Storage

Azure Front Door
Azure App Service
Azure Functions
Azure Table Storage
Azure Cache for Redis

Pomysły dotyczące rozwiązań

Ten artykuł jest pomysłem na rozwiązanie. Jeśli chcesz, abyśmy rozszerzyli zawartość o więcej informacji, takich jak potencjalne przypadki użycia, alternatywne usługi, zagadnienia dotyczące implementacji lub wskazówki dotyczące cen, daj nam znać, przekazując opinię w usłudze GitHub.

Ta architektura zapewnia rozwiązanie wysokiej dostępności dla aplikacji internetowej, która korzysta z ogromnych ilości danych. Region pomocniczy służy jako rezerwa do podstawowego, zwiększając dostępność. Region podstawowy wysyła swoje dane do pomocniczego przy użyciu wbudowanych funkcji replikacji usługi Azure Storage.

Dane są przechowywane w tabelach usługi Azure Table Storage. Podobnie jak w przypadku dowolnej usługi Azure Storage, dane usługi Table Storage są replikowane synchronicznie trzy razy w regionie podstawowym. Aby udostępnić ją do użycia w stanie wstrzymania, jest ona również replikowana asynchronicznie trzy razy w regionie pomocniczym. Aby uzyskać informacje na temat replikacji usługi Azure Storage, zobacz Nadmiarowość usługi Azure Storage.

Architektura zawiera pamięć podręczną tabel, aby zmniejszyć obciążenie dostępu i poprawić odpowiedź aplikacji.

Uwaga

Aplikacja może wymagać wielu kont magazynu w pewnych okolicznościach. Aby uzyskać więcej informacji, zobacz Zagadnienia .

Potencjalne przypadki użycia

Architektura może być odpowiednia dla każdej aplikacji korzystającej z ogromnych ilości danych, które muszą być zawsze dostępne. Przykłady obejmują aplikacje, które:

  • Śledź nawyki dotyczące wydatków klientów i zachowanie zakupów.
  • Prognoza pogody.
  • Oferowanie inteligentnych systemów ruchu lub implementowanie inteligentnych systemów ruchu lub używanie inteligentnej technologii do monitorowania ruchu.
  • Analizowanie danych produkcyjnych Internetu rzeczy (IoT).
  • Wyświetlanie danych miernika inteligentnego lub używanie technologii inteligentnej do monitorowania danych miernika.

Architektura

Architektura odpornego systemu, który może przejść w tryb failover do regionu rezerwowego.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Klient uwierzytelnia się przy użyciu identyfikatora Entra firmy Microsoft i otrzymuje dostęp do aplikacji internetowych hostowanych w usłudze aplikacja systemu Azure.
  2. Usługa Azure Front Door, zapora i moduł równoważenia obciążenia w warstwie 7, przełącza ruch użytkowników do regionu rezerwowego w przypadku awarii regionalnej.
  3. usługa aplikacja systemu Azure hostuje witryny internetowe i internetowe interfejsy API RESTful. Klienci przeglądarki uruchamiają aplikacje AJAX korzystające z interfejsów API.
  4. Internetowe interfejsy API delegować aplikacje funkcji do obsługi zadań w tle. Zadania są kolejkowane w kolejkach usługi Azure Queue Storage.
  5. Aplikacje funkcji hostowane przez usługę Azure Functions wykonują zadania w tle wyzwalane przez komunikaty w kolejce.
  6. Usługa Azure Cache for Redis caches dane tabeli dla aplikacji funkcji. Spowoduje to odciążanie aktywności bazy danych i przyspieszenie aplikacji funkcji i aplikacji internetowych.
  7. Usługa Azure Table Storage przechowuje dane używane przez aplikacje internetowe.
  8. Usługa Table Storage obsługuje synchroniczną replikację danych między strefami dostępności w regionie w celu ograniczenia awarii centrum danych. Używa również replikacji asynchronicznej do replikowania danych w różnych regionach świadczenia usługi Azure w celu skorygowania regionalnych awarii i zwiększenia dostępności aplikacji.

Składniki

  • Microsoft Entra ID to wielodostępna usługa zarządzania tożsamościami i dostępem, która może synchronizować się z katalogiem lokalnym.
  • Azure DNS to usługa hostingu o wysokiej dostępności dla domen DNS, która zapewnia aplikacjom szybkie zapytania DNS i szybkie aktualizacje rekordów DNS. Zarządzanie usługą Azure DNS przypomina zarządzanie innymi usługami platformy Azure i używa tych samych poświadczeń, interfejsów API, narzędzi i rozliczeń.
  • Usługa Azure Front Door to bezpieczna sieć dostarczania zawartości (CDN) i moduł równoważenia obciążenia z natychmiastowym przejściem w tryb failover. Działa ona na brzegu blisko użytkowników, przyspieszając dostarczanie zawartości, jednocześnie chroniąc aplikacje, interfejsy API i witryny internetowe przed zagrożeniami cybernetycznymi.
  • aplikacja systemu Azure Service to w pełni zarządzana usługa do tworzenia, wdrażania i skalowania aplikacji internetowych. Aplikacje można tworzyć przy użyciu platform .NET, .NET Core, Node.js, Java, Python lub PHP. Aplikacje mogą działać w kontenerach lub w systemie Windows lub Linux. W ramach migracji komputera mainframe ekrany frontonu lub interfejs internetowy mogą być kodowane jako interfejsy API REST oparte na protokole HTTP. Mogą być segregowane i mogą być bezstanowe do organizowania systemu opartego na mikrousługach. Aby uzyskać więcej informacji na temat internetowych interfejsów API, zobacz Projekt internetowego interfejsu API RESTful.
  • Usługa Azure Functions udostępnia środowisko do uruchamiania małych fragmentów kodu nazywanych funkcjami bez konieczności ustanawiania infrastruktury aplikacji. Służy do przetwarzania zbiorczych danych, integrowania systemów, pracy z IoT oraz tworzenia prostych interfejsów API i mikrousług. Dzięki mikrousługom można tworzyć serwery, które łączą się z usługami platformy Azure i są zawsze aktualne.
  • Azure Storage to zestaw wysoce skalowalnych i bezpiecznych usług w chmurze dla danych, aplikacji i obciążeń. Obejmuje ona usługi Azure Files, Azure Table Storage i Azure Queue Storage. Usługa Azure Files jest często skutecznym narzędziem do migrowania obciążeń komputerów mainframe.
  • Usługa Azure Queue Storage zapewnia proste, ekonomiczne, trwałe kolejkowanie komunikatów dla dużych obciążeń.
  • Azure Table Storage to magazyn par klucz-wartość noSQL do szybkiego programowania, który korzysta z ogromnych zestawów danych częściowo ustrukturyzowanych. Tabele są bez schematu i łatwo dostosowują się w miarę zmian potrzeb. Dostęp jest szybki i ekonomiczny dla wielu typów aplikacji i zazwyczaj kosztuje mniej niż inne typy magazynu kluczy.
  • Usługa Azure Cache for Redis to w pełni zarządzana usługa buforowania w pamięci i broker komunikatów służący do udostępniania danych i stanu między zasobami obliczeniowymi. Obejmuje zarówno usługę Redis typu open source, jak i produkt komercyjny z usługi Redis Labs jako usługi zarządzane. Możesz zwiększyć wydajność aplikacji przetwarzania transakcji online o wysokiej przepływności, projektując je pod kątem skalowania i używania magazynu danych w pamięci, takiego jak usługa Azure Cache for Redis.

Alternatywy

  • Usługa Azure Traffic Manager kieruje przychodzące żądania DNS w globalnych regionach świadczenia usługi Azure w oparciu o wybrane metody routingu ruchu. Zapewnia również automatyczne przechodzenie w tryb failover i routing wydajności.
  • Usługa Azure Content Delivery Network buforuje zawartość statyczną na serwerach brzegowych w celu szybkiego reagowania i używa optymalizacji sieci do szybkiego reagowania na zawartość dynamiczną. Usługa Content Delivery Network jest szczególnie przydatna, gdy baza użytkowników jest globalna.
  • Usługa Azure Kubernetes Service (AKS) to w pełni zarządzana usługa Kubernetes służąca do wdrażania konteneryzowanych aplikacji i zarządzania nimi. Służy do implementowania architektury mikrousług, której składniki są skalowane niezależnie na żądanie.
  • Usługa Azure Container Instances zapewnia szybki i prosty sposób uruchamiania zadań bez konieczności zarządzania infrastrukturą. Jest to przydatne podczas programowania lub uruchamiania nieplanowanych zadań.
  • Usługa Azure Service Bus to niezawodna usługa obsługi komunikatów w chmurze na potrzeby prostej integracji hybrydowej. Można go używać zamiast usługi Queue Storage w tej architekturze. Aby uzyskać więcej informacji, zobacz Kolejki magazynu i kolejki usługi Service Bus — porównywane i kontrastowane.

Kwestie wymagające rozważenia

  • Istnieją limity wydajności usługi Table Storage, które można przezwyciężyć przez dodanie kont magazynu. Następujące okoliczności mogą wymagać dodatkowych kont:

    • Aby zaimplementować wielodostępność w celu obsługi wielu klientów
    • Aby obsługiwać klientów z wyższymi stawkami transakcji
    • Obsługa klientów z dużymi zestawami danych
    • Aby przyspieszyć dostęp do danych, dystrybuując dane na wielu kontach magazynu
    • Aby rozdzielić dane na warstwy Gorąca, Chłodna i Archiwum
    • Aby tworzyć kopie danych na potrzeby tworzenia kopii zapasowych i raportowania

    Aby uzyskać więcej informacji, zobacz Cele dotyczące skalowalności i wydajności dla usługi Table Storage.

  • Replikacja usługi Table Storage nie jest dostępna w niektórych regionach świadczenia usługi Azure.

  • Dane w regionie pomocniczym mają spójność ostateczną, co oznacza, że występuje opóźnienie między czasem wystąpienia aktualizacji w regionie podstawowym i w regionie pomocniczym. Ponieważ replikacja z regionu podstawowego do regionu pomocniczego jest asynchroniczna, dane mogą zostać utracone, jeśli region podstawowy ulegnie awarii i nie zostanie odzyskany. Obecnie nie ma umowy dotyczącej poziomu usług (SLA) dotyczącej czasu replikacji danych do regionu pomocniczego. Aby uzyskać więcej informacji, zobacz Nadmiarowość usługi Azure Storage.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

  • Nabil Siddiqui | Architekt rozwiązań w chmurze — innowacje w zakresie technologii cyfrowych i aplikacji

Następne kroki