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!
Zajištění přístupu k uživatelům po celém světě díky funkcím s vysokou dostupností a nízkou latencí, které jsou integrované v globálních datacentrech Microsoftu.
Architektura
Stáhněte si verzi SVG této architektury.
Tok dat
- Uživatel přistupuje k aplikaci prostřednictvím vyhrazeného klienta.
- Azure Traffic Manager bude směrovat připojení uživatele k nejlepšímu umístění pro přístup k aplikaci na základě jednoho nebo vnořeného směrovacího profilu.
- V vyložené oblasti, kde je aplikace hostována, aplikace zpracuje relaci a připojení k databázi.
- Tato aplikace může být v rozsahu od jednoduché statické stránky až do aplikace zaměřené na mikroslužby, která je hostovaná v Kubernetes pro instanci.
- připojení mezi aplikací na šířku a Cosmos DB se provádí prostřednictvím Azure Active Directoryho uživatele, který může v Key Vault vycházet Cosmos DB klíče.
- pomocí Azure Cosmos DB rozhraní api pro více domovských míst vaše aplikace je vědomá nejbližší oblasti a může odesílat žádosti do této oblasti. Nejbližší oblast je identifikována bez jakýchkoli změn konfigurace. při přidávání a odebírání oblastí do a z účtu Azure Cosmos je nutné aplikaci znovu nasadit ani pozastavit, i když bude stále vysoce dostupná. pod pokrývání Cosmos DB zpracuje globální distribuci a replikaci dat na základě počtu definovaných oblastí. Kromě toho by měla být výhodná možnost automatického převzetí služeb při selhání v oblasti s nejvyšší prioritou převzetí služeb při selhání bez akce uživatele, pokud by oblast nebyla dostupná. Když je povolené automatické převzetí služeb při selhání, může se upravit priorita oblasti.
Komponenty
- Azure Traffic Manager: vytvoření možností vyrovnávání zatížení a směrování na základě dns pro vaše aplikace se šesti typy možností směrování provozu založených na dns, které můžou být vnořené.
- Azure Active Directory: synchronizace místních adresářů a povolení jednotného přihlašování
- Azure Cosmos DB: globálně distribuovaná databáze s více modely pro jakékoli škálování.
Možnosti výpočtů
- Azure Virtual Machines: vytváření virtuálních počítačů se systémem Linux a Windows v řádu sekund a snížení nákladů.
- Azure Kubernetes Services: vysoce dostupná, zabezpečená a plně spravovaná služba Kubernetes pro všechny vaše aplikace a základní úlohy mikroslužeb.
- App Service: rychlé vytváření výkonných cloudových aplikací pro web a mobilní zařízení.
Možnosti bez serveru
- Azure Functions: víc než jen serverová výpočetní událost bez serveru.
- Azure Logic Apps: rychlé vytváření výkonných integračních řešení.
Požadavky
Dostupnost
dostupnost instance Cosmos DB závisí na několika faktorech. větší počet oblastí, na které se Cosmos replikuje, je větší dostupnost aplikace. každá oblast obsahuje všechny datové oddíly kontejneru Azure Cosmos DB a může ve výchozím nastavení sloužit ke čtení. Pokud chcete zvýšit dostupnost datové vrstvy, můžete povolit zápis ve více oblastech. Tím se zvyšuje dostupnost datové vrstvy. Dostupnost můžete zvýšit také využitím slabých úrovní konzistence a zón dostupnosti.
pokud při zvažování výše uvedeného přístupu dosáhnete vysoké dostupnosti při Azure Cosmos DB automatickém převzetí služeb při selhání, konfigurujete své řešení, abyste zachovali běžící aplikaci na nejvyšší možné úrovni smlouvy SLA.
pro vrstvu aplikace Traffic Manager třeba nakonfigurovat vnořené profily. Při doručování tohoto návrhu na nejvyšší úroveň můžete škálovat různé možnosti aplikace v jednotlivých oblastech. Nasazení pro jednotlivé oblasti také využívá přístup s vysokou dostupností.
Výkon
Výkon systému je ovlivněn řadou faktorů na úrovni výpočetní databáze a databáze. SKU pro plán App Service nebo jiná možnost COMPUTE má vliv na paměť a jádra, které jsou k dispozici v jednotlivých oblastech. Kromě toho je počet oblastí, které jsou na výpočetní vrstvě nasazené, pro diktování škály, kterou dokáže zpracovat. Nasazení dalších umístění vybere mimo jiné stávající oblasti a měla by způsobit lineární zvýšení maximální propustnosti, kterou může aplikace splnit.
Cosmos DATABÁZE by měla být nakonfigurovaná tak, aby nezpůsobila kritický bod pro prostředky výpočetních vrstev. každá databáze a kontejner v Cosmos DB by měla být nakonfigurovaná na automatické škálování a měla by se zadat s maximální hodnotou jednotky žádosti, která zajistí, aby Cosmos DB neomezila požadavky. chcete-li určit odpovídající hodnoty maximální jednotky žádosti pro Cosmos DB entit, můžete spustit zátěžové testy v blízkosti přibližné maximální propustnosti aplikace. Ve srovnání s jejich silnějšími protějšky nabízí slabší úrovně konzistence vyšší propustnost a výkonnostní výhody.
v rozhodujícím případě při implementaci logiky v kódu, který čte z a zápisy do Cosmos DB, ať už se jedná o sadu SDK, Azure Functions vazeb atd PreferredLocations ., by měla být použita, aby každá místní rozhraní API směrují požadavky do nejbližší oblasti Cosmos DB. na základě konfigurace účtu Azure Cosmos DB, aktuální regionální dostupnosti a zadaného seznamu předvoleb vybere sada SDK optimální koncový bod pro provádění operací čtení a zápisu. Výsledkem tohoto procesu je výrazné zvýšení výkonu.
Odolnost
pro zajištění vyšší odolnosti můžete použít zóny dostupnosti pro Azure Cosmos DB nasazení. odolnost závisí také na volbách na úrovni konzistence, které vytvoříte v nasazení Cosmos DB. V závislosti na této úrovni konzistence dosáhnete jiné úrovně odolnosti (Další informace najdete v tématu konzistence, dostupnost a kompromis výkonu ).
Škálovatelnost
Škálování je založeno na mnoha úrovních v tomto diagramu. Azure Cosmos DB je účelově sestavený pro elastické škálování a předvídatelný výkon. Na úrovni aplikace je potřeba se podívat na použitý výpočetní model. Azure Functions a App Service můžou automatické škálování. V případě Azure Virtual Machines můžete použít Azure Virtual Machine Scale Sets. Pokud víte o této potřebě, měli byste vždy zvážit možnost bez serveru, pokud je to možné.
Zabezpečení
z hlediska zabezpečení přejděte k systému založenému na identitě, kde Azure Active Directory lze použít k zabezpečení přístupu k prostředí. v back-endu je aplikace (podle nejlepšího návrhu) přístupná prostřednictvím spravovaných identit, i když jedna z nich může také zvážit přístup k používání Azure Active Directory uživatelů a Azure Key Vault pro zabezpečení přístupu. kromě toho by měla být instance Cosmos DB dále zabezpečená, takže jediné entity, které jsou schopné číst a zapisovat do ní, jsou různé back-endy nasazené do různých oblastí. Omezení IP adres se dá pro účet použít pomocí integrované brány firewall.
Poznámka
od Ignite. března 2021 teď také podporujeme Azure Active Directory RBAC přímo na rozhraní API Cosmos DB SQL.
Další kroky
další informace o Azure Cosmos DB:
- Správa účtu služby Azure Cosmos DB
- konfigurace zápisů ve více oblastech v aplikacích, které používají Azure Cosmos DB
- Globální distribuce dat pomocí Azure Cosmos DB
- Úrovně konzistence ve službě Azure Cosmos DB
- Správa úrovní konzistence ve službě Azure Cosmos DB
- sestavení webové aplikace .net pomocí Azure Cosmos DB pomocí rozhraní API SQL a Azure Portal
- použití spravovaných identit přiřazených systémem pro přístup k Azure Cosmos DB datům
- jak Azure Cosmos DB poskytovat vysokou dostupnost
- Povolení automatického převzetí služeb při selhání u účtu služby Azure Cosmos DB
Další informace o Azure Traffic Manager:
- Co je Traffic Manager?
- Metody směrování Traffic Manageru
- Kurz: Konfigurace metody geografického směrování provozu pomocí Traffic Manager
Související nápady k řešení:
- Sestavování aplikací nativních pro cloud
- Zajištění vysoce škálovatelných zákaznických služeb a aplikací ERP
- Hry s využitím služby Cosmos DB
- IoT s využitím služby Cosmos DB
- Přizpůsobení pomocí služby Cosmos DB
- Maloobchod a elektronické obchodování s využitím služby Cosmos DB
- Bezserverové aplikace s využitím služby Cosmos DB
Související úplné architektury:
- Kanál CI/CD pro úlohy založené na kontejnerech
- Masivní ingestování a analýzy informačních kanálů v Azure
- Škálovatelné pořadí zpracování
Doprovodné materiály k architektuře: