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 herní řešení elastickě škáluje vaši databázi tak, aby vyhovovala nepředvídatelným nárůstům provozu a poskytovala prostředí pro více hráčů s nízkou latencí v globálním měřítku. Tento konkrétní scénář vychází z hraní herních scénářů, ale vzory návrhu jsou relevantní pro mnoho oborů, které jsou potřeba ke zpracování webových hovorů s vysokým provozem a požadavků na rozhraní API, jako jsou e-commerce a maloobchodní aplikace.
Architektura
Stáhnout SVG této architektury.
Tok dat
- Azure Traffic Manager směruje provoz hry uživatele do aplikací hostovaných v Azure App Service, funkcích nebo kontejnerech a rozhraních api publikovaných prostřednictvím Azure API Gateway.
- Azure CDN slouží k ukládání statických imagí a herních obsahu uživateli, který je uložený ve službě Azure Blob Storage.
- Azure Cosmos DB ukládá data stavu hry uživatele.
- Azure Databricks koreluje, cleanses a transformuje data o stavu her.
- Azure Functions zpracovává přehledy odvozené z Azure Databricks a nabízená oznámení pomocí Azure Notification Hubs na mobilní zařízení.
Komponenty
Tato architektura zahrnuje tyto komponenty:
Azure Traffic Manager je nástroj pro vyrovnávání zatížení založený na DNS, který ovládá distribuci provozu uživatelů pro koncové body služby v různých oblastech Azure. V normálním provozu směruje žádosti do primární oblasti. pokud tato oblast nebude k dispozici, Traffic Manager v případě potřeby může převzít služby při selhání do sekundární oblasti.
Azure API Management poskytuje bránu rozhraní API, která je umístěná před herními rozhraními API. API Management taky použít k implementaci otázek, jako je:
- Vynucování kvót využití a omezení přenosové rychlosti
- Ověřují se tokeny OAuth pro ověřování.
- Povolení žádostí mezi zdroji (CORS)
- Ukládání do mezipaměti odezvy
- Požadavky na monitorování a protokolování
Azure App Service hostuje aplikace API, které umožňují automatické škálování a vysokou dostupnost bez nutnosti spravovat infrastrukturu.
Azure CDN poskytuje statický obsah uložený v mezipaměti od umístění blízko uživatelům, aby se snížila latence.
Azure Blob Storage jsou optimalizované pro ukládání velkých objemů nestrukturovaných dat, například statických herních médií.
Azure Cosmos DB je plně spravovaná databázová služba NoSQL pro vytváření a modernizaci škálovatelných aplikací s vysokým výkonem.
Azure Databricks je analytická platforma založená na Apache Spark optimalizovaná pro platformu Microsoft Azure cloudové služby.
Azure Functions jsou možnosti COMPUTE bez serveru, které umožňují aplikacím běžet na vyžádání, aniž by museli spravovat infrastrukturu.
Azure Notification Hubs je široce Škálovatelný modul nabízených oznámení pro rychlé odesílání oznámení na nejrůznější mobilní zařízení a platformy.
Další kroky
přečtěte si následující články o Cosmos DB:
- běžné případy použití Azure Cosmos DB
- změnit informační kanál v Azure Cosmos DB
- Hodnota TTL (Time to Live) ve službě Azure Cosmos DB
- Úrovně konzistence ve službě Azure Cosmos DB
- Jednotky žádostí ve službě Azure Cosmos DB
- Dělení a horizontální škálování ve službě Azure Cosmos DB
Azure Cosmos DB následující funkce pro návrhy řešení: