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!
Architektura popsaná v tomto článku zvyšuje dostupnost v porovnání s nasazením v jedné oblasti. Poskytuje dvě aktivní oblasti a pohotovostní oblast, která se může stát aktivní, pokud selže jedna ze dvou aktivních oblastí. Každá oblast má svou vlastní databázi Azure Cosmos DB. Možnosti replikace služby Azure Cosmos DB zajišťují, aby se všechny změny databáze v jedné oblasti provedly také v odpovídajících databázích v jiných oblastech. Protože azure Cosmos DB replikaci dělá, nemusí to vývojáři aplikací dělat ve svém kódu, výrazně to zjednodušuje implementaci.
Kromě replikace databází do jiných oblastí nakonfigurovaných v účtu Azure Storage azure Cosmos DB dále zvyšuje dostupnost tím, že udržuje čtyři repliky databází v každé oblasti.
Azure Cosmos DB podporuje limitní propustnost a latenci nižší než 10 ms, aby vaše aplikace poskytovaly předvídatelnou odpověď a vyhnuly se selháním kvůli problémům s latencí. Každá databáze má mezipaměť, která snižuje zatížení přístupu a zlepšuje odezvu aplikace.
Poznámka
Replikace poskytuje pět úrovní konzistence. Podrobnosti najdete v tématu věnovaném úrovním konzistence ve službě Azure Cosmos DB.
Potenciální případy použití
Architektura může být vhodná pro všechny aplikace, které používají obrovské objemy dat, které musí být vždy dostupné. Mezi příklady patří aplikace, které:
- Sledujte zvyklosti zákazníků v útratě a nákupní chování.
- Předpověď počasí
- Nabídnou inteligentní systémy přenosů dat, implementují inteligentní systémy přenosů dat nebo k monitorování provozu používají inteligentní technologie.
- Analýza dat Internet věcí (IoT)
- Zobrazení dat inteligentního měřiče nebo použití inteligentní technologie k monitorování dat měřičů
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
- Klient se ověřuje pomocí Azure Active Directory (Azure AD) a má udělený přístup k webovým aplikacím hostovaným Azure App Service.
- Azure Front Door brány firewall a nástroje pro vyrovnávání zatížení vrstvy 7 přepne uživatelský provoz v případě výpadku oblasti do jiné oblasti Azure.
- Azure App Service hostuje weby a webová rozhraní API RESTful. Klienti prohlížeče používají aplikace AJAX, které používají rozhraní API.
- Webová rozhraní API deleguje aplikace funkcí pro zpracování úloh na pozadí. Úkoly jsou ve frontě ve frontě Azure Queue Storage frontách.
- Aplikace funkcí hostované službou Azure Functions provádějí úlohy na pozadí aktivované zprávami ve frontě.
- Azure Cache for Redis aplikace funkcí ukládá data databáze do mezipaměti. Tím se databázová aktivita zrychluje a aplikace funkcí a webové aplikace se tím zrychlí.
- Azure Cosmos DB obsahuje data používaná webovými aplikacemi a zajišťuje replikaci změn databáze do všech oblastí.
Komponenty
- Azure Active Directory (Azure AD) je služba pro správu identit a přístupu s více tenanty, 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á aplikacím poskytuje rychlé dotazy DNS a rychlé aktualizace záznamů DNS. Správa Azure DNS je jako správa další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ů a zrychluje doručování obsahu a současně chrání aplikace, rozhraní API a weby před kybernetickými hrozbami.
- Azure App Service je plně spravovaná služba pro vytváření, 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 mohou běžet v kontejnerech nebo na Windows nebo Linuxu. Při migraci mainframů je možné front-endové obrazovky nebo webové rozhraní kódovat jako rozhraní REST API založená na protokolu HTTP. Je možné je oddělením a bezstavovou orchestrací 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.
- Azure Functions poskytuje prostředí pro spouštění malých částí kódu, které se nazývají funkce, bez nutnosti založit 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. S mikroslužbami můžete vytvářet servery, které se připojují ke službám Azure a jsou vždy aktuální.
- Azure Storage je sada masivně š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. Azure Files je často efektivním nástrojem pro migraci mainframových úloh.
- Azure Queue Storage poskytuje jednoduché, nákladově efektivní a odolné za fronty zpráv pro velké úlohy.
- 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 open source 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 jejich návrhem na škálování a využití úložiště dat v paměti, jako je Azure Cache for Redis.
- Azure Cosmos DB je globálně distribuovaná vícemodelová databáze, která vašim řešením umožňuje škálovat propustnost a úložiště napříč libovolným počtem geografických oblastí. Komplexní smlouvy o úrovni služeb (SLA) zaručují propustnost, latenci, dostupnost a konzistenci.
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 (CDN) ukládá statický obsah do mezipaměti na hraničních serverech pro rychlou odezvu a využívá optimalizace sítě ke zlepšení odezvy na dynamický obsah. CDN je zvlášť užitečná, když je uživatelská základna globální.
- 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 nezávisle škálují na vyžádání.
- Azure Container Instances je rychlý a jednoduchý způsob, jak spouštět úlohy bez nutnosti spravovat infrastrukturu. Je užitečná při vývoji nebo při 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. V této architektuře se může použít místo Storage front. Další informace najdete v tématu Storage fronty a Service Bus fronty – porovnání a kontrast.
Požadavky
- Azure Cosmos DB nabízí replikaci dat jedním kliknutím do libovolného počtu oblastí Azure.
- S růstem dat je Cosmos databáze dražší. Možná budete muset implementovat strategie vrstvení dat, abyste měli pod kontrolou náklady.
- Pokud migrujete data z jiného úložného systému, musíte zapsat rutiny pro kopírování dat do Azure Cosmos DB. Pokud chcete sledovat průběh migrace dat, ujistěte se, že máte příznak časového razítka a kopírování.
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 do Azure Cosmos DB
- Migrace stovek terabajtů dat do Azure Cosmos DB