webová aplikace se dvěma oblastmi s Table Storage převzetí služeb při selhání

Front Door
App Service
Functions
Table Storage
Cache for Redis

Idea řešení

Pokud se chcete podívat, jak tento článek rozšíříme o další informace, jako jsou potenciální případy použití, alternativní služby, aspekty implementace nebo pokyny k cenám, dejte nám vědět pomocí GitHub Feedback!

Tato architektura poskytuje řešení s vysokou dostupností pro webovou aplikaci, která používá obrovské objemy dat. Sekundární oblast slouží jako pohotovostní režim pro primární a zlepšuje dostupnost. Primární oblast odesílá data do sekundárního nástroje pomocí integrovaných možností replikace Azure Storage.

Data se ukládají do tabulek Azure Table Storage. stejně jako u libovolné Azure Storage služby se Table Storage data replikují v primární oblasti synchronně třikrát. Aby byla k dispozici pro pohotovostní použití, je také replikována asynchronně třikrát v sekundární oblasti. informace o replikaci Azure Storage najdete v tématu Azure Storage redundance.

Architektura zahrnuje mezipaměť pro tabulky, které omezují přístup k zatížení a zlepšují odezvu aplikace.

Poznámka

Vaše aplikace může za určitých okolností vyžadovat více účtů úložiště. Další informace najdete v tématu věnovaném důležitým informacím.

Potenciální případy použití

Tato architektura může být vhodná pro libovolnou aplikaci, která používá obrovský objem dat, který musí být vždycky dostupný. Mezi příklady patří aplikace:

  • Sledujte návyky útraty zákazníků a chování při nákupu.
  • Předpověď počasí.
  • Nabídněte inteligentní provoz nebo implementujte systémy inteligentního provozu nebo využijte inteligentní technologie pro monitorování provozu.
  • Analyzujte data z výroby Internet věcí (IoT).
  • Zobrazit data inteligentního měřiče nebo pomocí inteligentní technologie monitorovat data měřičů.

Architektura

Architektura odolného systému, který může převzít služby při selhání v pohotovostní oblasti.

Stáhněte si soubor aplikace Visio s touto architekturou.

  1. klient se ověřuje pomocí Azure Active Directory (Azure AD) a uděluje přístup k webovým aplikacím hostovaným v Azure App Service.
  2. Přední dvířka Azure, brána firewall a vrstva 7 pro vyrovnávání zatížení přepíná uživatelský provoz do pohotovostní oblasti v případě regionu výpadku.
  3. Azure App Service hostuje websites a RESTful webová rozhraní API. Klienti prohlížeče spouštějí aplikace AJAX, které používají rozhraní API.
  4. Webová rozhraní API deleguje aplikace funkcí pro zpracování úloh na pozadí. úkoly jsou zařazené do fronty ve frontě Queue Storage Azure.
  5. Aplikace funkcí hostované Azure Functions provádějí úlohy na pozadí aktivované zprávami ve frontě.
  6. Mezipaměť Azure pro Redis ukládá data tabulek pro aplikace Function App. Tím se přesměruje databázová aktivita a urychlí se aplikace Function App a Web Apps.
  7. Azure Table Storage obsahuje data používaná webovými aplikacemi.
  8. Table Storage podporuje synchronní replikaci dat napříč zónami dostupnosti v oblasti za účelem zmírnění výpadků datového centra. Také používá asynchronní replikaci pro replikaci dat napříč různými oblastmi Azure k nápravě regionálních výpadků a zlepšení dostupnosti aplikace.

Komponenty

  • Azure Active Directory (Azure AD) je víceklientské služba pro správu identit a přístupu, která se může synchronizovat s místním adresářem.
  • Azure DNS je hostitelská služba s vysokou dostupností pro domény DNS, která poskytuje aplikacím rychlé dotazy DNS a rychlé aktualizace záznamů DNS. Správa Azure DNS je podobná správě dalších služeb Azure a používá stejné přihlašovací údaje, rozhraní API, nástroje a fakturaci.
  • přední dvířka Azure jsou zabezpečená síť pro doručování obsahu (CDN) a nástroj pro vyrovnávání zatížení s rychlým převzetím služeb Funguje na okraji blízko uživatelům, urychluje doručování obsahu a zároveň chrání aplikace, rozhraní API a weby před internetovými hrozbami.
  • Azure App Service je plně spravovaná služba pro sestavování, nasazování a škálování webových aplikací. Aplikace můžete vytvářet pomocí .NET, .NET Core, Node.js, Java, Pythonu nebo PHP. aplikace můžou běžet v kontejnerech nebo na Windows nebo Linux. V rámci migrace sálového počítače se můžou klientské obrazovky nebo webové rozhraní kódovat jako rozhraní REST API založená na protokolu HTTP. Můžou být oddělené a můžou být bezstavové pro orchestraci systému založeného na mikroslužbách. Další informace o webových rozhraních API najdete v tématu design RESTful webového rozhraní API.
  • Azure Functions poskytuje prostředí pro spouštění malých částí kódu nazývaných funkce, aniž by bylo nutné navázat infrastrukturu aplikace. Můžete ji použít ke zpracování hromadných dat, integraci systémů, práci s IoT a vytváření jednoduchých rozhraní API a mikroslužeb. Pomocí mikroslužeb můžete vytvářet servery, které se připojují ke službám Azure a jsou vždycky aktuální.
  • Azure Storage je sada rozsáhlě škálovatelných a zabezpečených cloudových služeb pro data, aplikace a úlohy. zahrnuje azure Files, azure Table Storagea azure Queue Storage. Soubory Azure jsou často účinným nástrojem pro migraci úloh sálového počítače.
  • Azure Queue Storage poskytuje jednoduché a nákladově efektivní a odolné fronty zpráv pro velké úlohy.
  • Azure Table Storage je úložiště NoSQL klíč-hodnota pro rychlý vývoj, který využívá obrovských částečně strukturovaných datových sad. Tabulky jsou bez schématu a přizpůsobují se okamžitě podle potřeb změny. Přístup je rychlý a nákladově efektivní pro mnoho typů aplikací a obvykle náklady méně než jiné typy úložiště s klíčem.
  • Azure cache pro Redis je plně spravovaná služba pro ukládání do mezipaměti v paměti a zprostředkovatel zpráv pro sdílení dat a stavu mezi výpočetními prostředky. Zahrnuje Open Source Redis i komerční produkt z Redis Labs jako spravované služby. Můžete zlepšit výkon vysoce propustnosti online aplikací pro zpracování transakcí tím, že je navrhujete pro škálování a používání úložiště dat v paměti, jako je například Azure cache pro Redis.

Alternativy

  • Azure Traffic Manager směruje příchozí požadavky DNS napříč globálními oblastmi Azure na základě vašeho výběru metod směrování provozu. Poskytuje taky automatické převzetí služeb při selhání a směrování výkonu.
  • Azure Content Delivery Network ukládá do mezipaměti statický obsah na hraničních serverech pro rychlou odezvu a pomocí optimalizací sítě urychlí odezvu na dynamický obsah. Content Delivery Network je užitečná hlavně v případě, že je uživatelská základna globální.
  • Služba Azure Kubernetes Service (AKS) je plně spravovaná služba Kubernetes pro nasazení a správu kontejnerových aplikací. Můžete ji použít k implementaci architektury mikroslužeb, jejíž součásti se škálují nezávisle na vyžádání.
  • Azure Container Instances poskytuje rychlý a jednoduchý způsob, jak spouštět úlohy bez nutnosti spravovat infrastrukturu. To je užitečné během vývoje nebo pro spouštění neplánovaných úloh.
  • Azure Service Fabric je platforma pro škálování a orchestraci kontejnerů a mikroslužeb.
  • Azure Service Bus je spolehlivá cloudová služba zasílání zpráv pro jednoduchou hybridní integraci. dá se použít místo Queue Storage v této architektuře. další informace najdete v tématu Storage fronty a Service Bus fronty – porovnání a kontrast.

Požadavky

  • existují omezení výkonu pro Table Storage, která se dají překonat přidáním Storagech účtů. Následující okolnosti můžou vyžadovat další účty:

    • Implementace víceklientské architektury pro podporu více zákazníků
    • Podpora zákazníků s vyššími sazbami za transakce
    • Podpora zákazníků s velkými datovými sadami
    • Urychlení přístupu k datům distribucí dat mezi více účtů úložiště
    • Oddělení dat do horké, studené a archivní úrovně
    • Vytvoření kopií dat pro účely zálohování a generování sestav

    Další informace najdete v tématu škálovatelnost a cíle výkonnosti pro Table Storage.

  • replikace Table Storage není k dispozici v některých oblastech Azure.

  • Data v sekundární oblasti mají konečnou konzistenci, což znamená, že existuje prodleva mezi časem, kdy k aktualizaci dojde v primární oblasti a kdy se zobrazuje v sekundární oblasti. Vzhledem k tomu, že replikace z primární oblasti do sekundární oblasti je asynchronní, může dojít ke ztrátě dat v případě, že dojde k chybě primární oblasti a nedojde k jejímu obnovení. V současné době není k dispozici žádná smlouva o úrovni služeb (SLA), jak dlouho trvá replikace dat do sekundární oblasti. Další informace najdete v článku Možnosti redundance Azure Storage.

Další kroky