Upravit

Sdílet prostřednictvím


Minimální úložiště – kanál změn pro replikaci dat

Azure Front Door
Azure App Service
Azure Functions
Azure Cosmos DB
Azure Table Storage

Tento článek představuje řešení s vysokou dostupností pro webovou aplikaci, která se zabývá velkými objemy dat, která musí být přístupná v určitém časovém rámci. Řešení zahrnuje použití služby Azure Cosmos DB jako primárního úložiště dat a použití kanálu změn služby Azure Cosmos DB k replikaci dat do sekundárního úložiště s nízkými náklady. Po vypršení zadaného časového období se azure Functions použije k odstranění dat ze služby Azure Cosmos DB. Data v sekundárním úložišti zůstávají k dispozici delší dobu, aby bylo možné povolit další řešení pro účely auditování a analýzy. Řešení také poskytuje vysokou odolnost tím, že replikuje data do různých datových služeb.

Architektura

Architektura odolného systému, který využívá dva typy úložiště ke snížení nákladů

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

Tok dat

  1. Klient se ověřuje pomocí MICROSOFT Entra ID a má udělený přístup k webovým aplikacím hostovaným ve službě Aplikace Azure Service.
  2. Azure Front Door, brána firewall a nástroj pro vyrovnávání zatížení vrstvy 7 přepne uživatelský provoz do pohotovostní oblasti, pokud dojde k regionálnímu výpadku.
  3. App Service hostuje weby a webová rozhraní RESTful API. Klienti prohlížeče spouštějí asynchronní aplikace JavaScriptu a JAZYKa XML (AJAX), které používají rozhraní API.
  4. Webová rozhraní API delegují odpovědnost na kód hostovaný službou Functions za účelem zpracování úloh na pozadí. Úlohy se zařadí do front Azure Queue Storage.
  5. Zprávy ve frontě aktivují funkce, které provádějí úlohy na pozadí.
  6. Azure Cache for Redis ukládá data databáze funkcí do mezipaměti. Pomocí mezipaměti řešení přesměruje aktivitu databáze a zrychluje aplikace funkcí a webové aplikace.
  7. Azure Cosmos DB uchovává nedávno generovaná data.
  8. Azure Cosmos DB vydává kanál změn, který se dá použít k replikaci změn.
  9. Aplikace funkcí čte kanál změn a replikuje změny do tabulek Azure Table Storage. Jiná aplikace funkcí pravidelně odebírá data s vypršenou platností ze služby Azure Cosmos DB.
  10. Table Storage poskytuje nízkonákladové úložiště.

Komponenty

  • Azure Microsoft Entra ID je 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 se podobá správě jiných služeb Azure a používá stejné přihlašovací údaje, rozhraní API, nástroje a fakturaci.
  • Azure Front Door je zabezpečená síť pro doručování obsahu (CDN) a nástroj pro vyrovnávání zatížení s okamžitým převzetím služeb při selhání. Funguje na hraničních zařízeních blízko uživatelům, urychluje doručování obsahu a současně chrání aplikace, rozhraní API a weby před kybernetickými hrozbami.
  • 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, Javy, Pythonu nebo PHP. Aplikace se můžou spouštět v kontejnerech nebo ve Windows nebo Linuxu. Při migraci sálového počítače lze front-endové obrazovky nebo webové rozhraní kódovat jako rozhraní REST API založená na protokolu HTTP. Dají se oddělit 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 NÁVRH webového rozhraní API RESTful.
  • Functions poskytuje prostředí pro spouštění malých částí kódu, označovaných jako funkce, aniž by bylo nutné navazovat aplikační infrastrukturu. Můžete ho použít ke zpracování hromadných dat, integraci systémů, práci se zařízeními IoT (Internet of Things) 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ždy aktuální.
  • Azure Storage je sada široce škálovatelných a zabezpečených cloudových služeb pro data, aplikace a úlohy. Zahrnuje Službu Azure Files, Table Storage a Queue Storage. Azure Files je často efektivním nástrojem pro migraci úloh sálového počítače.
  • Queue Storage poskytuje jednoduché, nákladově efektivní a odolné fronty zpráv pro velké úlohy.
  • Table Storage je úložiště klíč-hodnota NoSQL pro rychlý vývoj, které používá masivní částečně strukturované datové sady. Tabulky jsou bez schématu a snadno se přizpůsobí podle potřeby. Access je pro mnoho typů aplikací rychlý a nákladově efektivní a obvykle stojí méně než jiné typy úložiště s klíči.
  • Azure Cache for Redis je plně spravovaná služba 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 opensourcový Redis i komerční produkt z Redis Labs jako spravované služby. Výkon aplikací pro zpracování online transakcí s vysokou propustností můžete zlepšit tak, že je navrhnete tak, aby se škálovaly a využívaly úložiště dat v paměti, jako je Azure Cache for Redis.
  • Azure Cosmos DB je globálně distribuovaná vícemodelová databáze od Microsoftu, která umožňuje vašim řešením elasticky a nezávisle škálovat propustnost a úložiště napříč libovolným počtem geografických oblastí. Nabízí záruky propustnosti, latence, dostupnosti a konzistence s komplexními smlouvami o úrovni služeb (SLA).

Alternativy

  • Azure Traffic Manager směruje příchozí požadavky DNS napříč globálními oblastmi Azure na základě vaší volby metod směrování provozu. Poskytuje také automatické převzetí služeb při selhání a směrování výkonu.
  • Azure Content Delivery Network ukládá statický obsah do mezipaměti na hraničních serverech pro rychlou odpověď a využívá optimalizace sítě ke zlepšení odezvy dynamického obsahu. Služba Content Delivery Network je užitečná zejména v případech, kdy je uživatelská základna globální.
  • Azure Container Apps je plně spravovaná služba bezserverového kontejneru, která se používá k sestavování a nasazování moderních aplikací ve velkém měřítku.
  • Azure Kubernetes Service (AKS) je plně spravovaná služba Kubernetes pro nasazování a správu kontejnerizovaných aplikací. Můžete ji použít k implementaci architektury mikroslužeb, jejíž komponenty se škálují nezávisle na vyžádání.
  • Azure Container Instances nabízí rychlý a jednoduchý způsob spouštění úloh bez nutnosti spravovat infrastrukturu. Je užitečná při vývoji nebo při spouštění neplánovaných úloh.
  • Azure Service Bus je spolehlivá cloudová služba zasílání zpráv pro jednoduchou hybridní integraci. V této architektuře se dá použít místo queue Storage. Další informace najdete v tématu Fronty služby Storage a fronty služby Service Bus – porovnání a kontrast.

Podrobnosti scénáře

Toto řešení používá službu Azure Cosmos DB k ukládání velkého objemu dat, která webová aplikace používá. Webové aplikace, které zpracovávají obrovské objemy dat, těží z možnosti služby Azure Cosmos DB elasticky a nezávisle škálovat propustnost a úložiště.

Další klíčovou komponentou řešení je kanál změn služby Azure Cosmos DB. Když v databázi provedete změny, stream kanálu změn se odešle do aktivační události řízené funkcemi. Funkce se pak spustí a replikuje změny tabulek Table Storage, které poskytují nízkonákladové řešení úložiště.

Webová aplikace potřebuje data jenom po omezenou dobu. Řešení využívá tento fakt k dalšímu snížení nákladů. Konkrétně jiná funkce pravidelně spouští a odstraňuje data s vypršenou platností ze služby Azure Cosmos DB. Kromě aktivace je možné funkce naplánovat tak, aby se spouštěly v nastavených časech.

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

Architektura je vhodná pro jakoukoli aplikaci, která:

  • Používá obrovské množství dat.
  • Vyžaduje, aby data byla vždy dostupná, když je to potřeba.
  • Používá data, jejichž platnost vyprší.

Mezi příklady patří aplikace, které:

  • Přizpůsobení zákaznického prostředí a zapojení prostřednictvím živých datových kanálů a senzorů ve fyzických umístěních
  • Sledujte návyky zákazníků a chování při nakupování.
  • Sledujte flotily vozidel shromažďováním dat o poloze vozidel, výkonu a chování řidiče za zájmu vyšší efektivity a bezpečnosti.
  • Předpověď počasí
  • Nabídněte inteligentní systémy provozu nebo implementujte inteligentní systémy provozu nebo používejte inteligentní technologie k monitorování provozu.
  • Analýza výrobních dat IoT
  • Zobrazení inteligentních dat měřiče nebo použití inteligentní technologie k monitorování dat měřiče

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

  • Při implementaci a údržbě tohoto řešení se vám účtují další náklady.
  • Použití kanálu změn pro replikaci vyžaduje menší údržbu kódu než replikace v základní aplikaci.
  • Potřebujete migrovat existující data. Proces migrace vyžaduje ad hoc skripty nebo rutiny ke kopírování starých dat do účtů úložiště. Při migraci dat se ujistěte, že ke sledování průběhu migrace používáte časové razítko a kopírujete příznaky.
  • Abyste se vyhnuli odstranění položek ze sekundárního úložiště tabulky Azure, ignorujte kanály odstranění, které se vygenerují při odstraňování položek z Azure Cosmos DB.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

  • Nabil Siddiqui | Architekt cloudového řešení – digitální a aplikační inovace

Další kroky