Hraní her s využitím služby Azure Cosmos DB

Azure App Service
Azure Cosmos DB

Nápady na řešení

Tento článek je myšlenkou řešení. Pokud chcete, abychom obsah rozšířili 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 tím, že nám poskytnete zpětnou vazbu k GitHubu.

Toto herní řešení elasticky škáluje databázi tak, aby vyhovovala nepředvídatelným nárůstům provozu a poskytovalo prostředí s více přehrávači s nízkou latencí v globálním měřítku.

Architektura

Architecture diagram that shows a gaming solution idea that uses Azure Cosmos DB.

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

Tok dat

  1. Azure Traffic Manager směruje provoz her uživatele do aplikací hostovaných ve službě Aplikace Azure Service, Functions nebo Containers a do rozhraní API publikovaných prostřednictvím služby Azure API Gateway.
  2. Azure CDN obsluhuje statické obrázky a herní obsah uživateli, který je uložený ve službě Azure Blob Storage.
  3. Azure Cosmos DB ukládá data o stavu her uživatele.
  4. Azure Databricks koreluje, čistí a transformuje data stavu her.
  5. Azure Functions zpracovává přehledy odvozené z Azure Databricks a odesílá oznámení do mobilních zařízení pomocí Azure Notification Hubs.

Komponenty

Tato architektura zahrnuje následující komponenty:

  • Azure Traffic Manager je nástroj pro vyrovnávání zatížení založený na DNS, který řídí distribuci uživatelského provozu pro koncové body služby v různých oblastech Azure. V normálním provozu směruje žádosti do primární oblasti. Pokud se tato oblast stane nedostupnou, Traffic Manager může podle potřeby převzít služby při selhání do sekundární oblasti.

  • Azure API Management poskytuje bránu rozhraní API, která se nachází před rozhraními API pro hry. Službu API Management je možné použít také k implementaci problémů, jako jsou:

    • Vynucení kvót využití a omezení četnosti
    • Ověřování tokenů OAuth
    • Povolení žádostí mezi zdroji (CORS)
    • odpovědi na Ukládání do mezipaměti
    • Monitorování a protokolování požadavků
  • Aplikace Azure Služba 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 z umístění blízko uživatelům, aby se snížila latence.

  • Azure Blob Storage je optimalizované pro ukládání velkých objemů nestrukturovaných dat, jako jsou statická herní média.

  • Azure Cosmos DB je plně spravovaná databázová služba NoSQL pro sestavování a modernizaci škálovatelných vysoce výkonných aplikací.

  • Azure Databricks je analytická platforma založená na Apache Spark a optimalizovaná pro platformu cloudových služeb Microsoft Azure.

  • Azure Functions je bezserverová výpočetní možnost, která umožňuje aplikacím spouštět na vyžádání bez nutnosti spravovat infrastrukturu.

  • Azure Notification Hubs je široce škálovatelný modul nabízených oznámení pro rychlé odesílání oznámení do různých mobilních zařízení a platforem.

Podrobnosti scénáře

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

Tento konkrétní scénář je založený na herním scénáři pro odvětví vývoje her. Vzory návrhu jsou relevantní pro mnoho odvětví, která jsou nutná ke zpracování webových volání s vysokým provozem a požadavků rozhraní API, jako jsou elektronické obchodování a maloobchodní aplikace.

Další kroky

Projděte si následující články o službě Azure Cosmos DB:

Dokumentace k produktu:

Následující návrhy řešení obsahují službu Azure Cosmos DB: