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ý objem dat, který musí být k dispozici po určitou dobu. ukládá data v Azure Cosmos DB a používá Azure Cosmos DB změnového kanálu k replikaci dat do sekundárního úložiště. po uplynutí zadaného časového období aplikace function app odstraní z Azure Cosmos DB.
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
Stáhněte si soubor aplikace Visio s touto architekturou.
- 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.
- 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.
- Azure App Service hostuje websites a RESTful webová rozhraní API. Klienti prohlížeče spouštějí aplikace AJAX, které používají rozhraní API.
- Webová rozhraní API deleguje aplikace funkcí pro zpracování úloh na pozadí. úkoly jsou zařazené do fronty ve frontě Queue Storage Azure.
- Aplikace funkcí hostované Azure Functions provádějí úlohy na pozadí aktivované zprávami ve frontě.
- Mezipaměť Azure pro Redis ukládá data databáze pro aplikace Function App. Tím se přesměruje databázová aktivita a urychlí se aplikace Function App a Web Apps.
- Azure Cosmos DB obsahuje nedávno generovaná data.
- Azure Cosmos DB vydá informační kanál změny, který se dá použít k replikaci změn.
- aplikace function app přečte kanál změn a replikuje změny do Table Storage tabulek. jiná aplikace function app pravidelně odebírá data s vypršenou platností z Azure Cosmos DB.
- Table Storage poskytuje úložiště s nízkými náklady.
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.
- Azure Cosmos DB je globálně distribuovaná databáze microsoftu, která umožňuje pružně a nezávisle škálovat propustnost a úložiště napříč libovolným počtem geografických oblastí. Nabízí propustnost, latenci, dostupnost a záruky 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š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 (CDN) ukládá do mezipaměti statický obsah na hraničních serverech pro rychlou odezvu a pomocí optimalizací sítě vylepšit odezvu na dynamický obsah. CDN 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
- Při implementaci a údržbě tohoto řešení se účtují navíc náklady.
- Použití kanálu změn pro replikaci vyžaduje méně údržby kódu než provádění replikace v základní aplikaci.
- Stávající data musí být migrována, což by vyžadovalo, aby skripty a rutiny ad hoc zkopírovali stará data do účtů úložiště. Ujistěte se, že máte časové razítko a příznaky kopírování ke sledování průběhu migrace dat.
- ujistěte se, že jste ignorovali odstranění kanálů generovaných z důvodu funkce Azure, které odstraňují položky z Cosmos DB, aby nedocházelo k odstraňování položek ze sekundárního úložiště (tabulka Azure).
Další kroky
- Styl architektury web-fronta-pracovní proces
- Návrh geograficky distribuované aplikace
- Globální distribuce dat pomocí Azure Cosmos DB
- Volba vhodného rozhraní API pro Azure Cosmos DB
- Ukládání a přístup k datům NoSQL pomocí Azure Cosmos DB a rozhraní API pro tabulky
- Práce s daty typu NoSQL v Azure Cosmos DB
- Modelování a dělení dat ve službě Azure Cosmos DB s využitím příkladu z reálného světa
- možnosti migrace místních nebo cloudových dat na Azure Cosmos DB
- Migrace stovek terabajtů dat do Azure Cosmos DB
- změna vzorů návrhu informačního kanálu v Azure Cosmos DB
- architektury založené na událostech bez serveru s Azure Cosmos DB a Azure Functions
- Úvod do služby Azure Data Factory
- Orchestrace přesunu a transformace dat v Azure Data Factory nebo kanálu Azure synapse