Hry s využitím služby Cosmos DB

API Apps
Cosmos DB

PřehledOverview

Tato architektura herních ř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.This gaming solution architecture elastically scales your database to accommodate unpredictable bursts of traffic and deliver low-latency multi-player experiences on a global scale. Tento konkrétní scénář vychází z hraní herních scénářů, ale vzory návrhu jsou relevantní pro spoustu oborů, které vyžadují zpracování webových volání s vysokým provozem a požadavků rozhraní API, jako jsou elektronické obchodování a maloobchodní aplikace.This specific scenario is based on a gaming scenario, but the design patterns are relevant for many industries requiring the process high-traffic web calls and API requests such as e-commerce and retail applications.

ArchitekturaArchitecture

Diagram architektury Stáhnout SVG této architektury.Architecture Diagram Download an SVG of this architecture.

Data FlowData Flow

  1. Azure Traffic Manager směruje provoz ze 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 Traffic Manager routes a user's game traffic to the apps hosted in Azure App Service, Functions or Containers and APIs published via Azure API Gateway.
  2. 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 CDN serves static images and game content to the user that are stored in Azure Blob Storage.
  3. Azure Cosmos DB ukládá data stavu hry uživatele.Azure Cosmos DB stores user's game state data.
  4. Azure Databricks koreluje, cleanses a transformuje data o stavu her.Azure Databricks correlates, cleanses and transforms game state data.
  5. Azure Functions zpracovává přehledy odvozené z Azure Databricks a nabízená oznámení pomocí Azure Notification Hubs na mobilní zařízení.Azure Functions processes the insights derived from Azure Databricks and pushes notifications using Azure Notification Hubs to mobile devices.

KomponentyComponents

Tato architektura zahrnuje tyto komponenty:This architecture includes the following components:

  • 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.Azure Traffic Manager is a DNS-based load balancer that controls the distribution of user traffic for service endpoints in different Azure regions. V normálním provozu směruje žádosti do primární oblasti.During normal operations, it routes requests to the primary region. 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.If that region becomes unavailable, Traffic Manager can fail over to secondary region as needed.

  • Azure API Management poskytuje bránu rozhraní API, která je umístěná před herními rozhraními API.Azure API Management provides an API gateway that sits in front of the Gaming APIs. API Management taky použít k implementaci otázek, jako je:API Management also be used to implement concerns such as:

    • Vynucování kvót využití a omezení přenosové rychlostiEnforcing usage quotas and rate limits
    • Ověřují se tokeny OAuth pro ověřování.Validating OAuth tokens for authentication
    • Povolení žádostí mezi zdroji (CORS)Enabling cross-origin requests (CORS)
    • Ukládání odpovědí do mezipamětiCaching responses
    • Požadavky na monitorování a protokolováníMonitoring and logging requests
  • Azure App Service hostuje aplikace API, které umožňují automatické škálování a vysokou dostupnost bez nutnosti spravovat infrastrukturu.Azure App Service hosts API applications allowing autoscale and high availability without having to manage infrastructure.

  • 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 CDN delivers static, cached content from locations close to users to reduce latency.

  • Azure Blob Storage jsou optimalizované pro ukládání velkých objemů nestrukturovaných dat, například statických herních médií.Azure Blob Storage are optimized to store large amounts of unstructured data, such as static gaming media.

  • 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 Cosmos DB is a fully managed NoSQL database service for building and modernizing scalable, high performance applications.

  • Azure Databricks je analytická platforma založená na Apache Spark optimalizovaná pro platformu Microsoft Azure cloudové služby.Azure Databricks is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform.

  • 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 Functions are serverless compute options that allow applications to run on-demand without having to manage infrastructure.

  • 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.Azure Notification Hubs is a massively scalable push notification engine for quickly sending notifications to variety of mobile devices and platforms.