Spela med Azure Cosmos DB

Azure App Service
Azure Cosmos DB

Lösningsidéer

Den här artikeln är en lösningsidé. Om du vill att vi ska utöka innehållet med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du meddela oss genom att ge GitHub-feedback.

Den här spellösningsidén skalar om databasen elastiskt för att hantera oförutsägbara trafiktoppar och leverera funktioner för flera spelare med låg fördröjning i global skala.

Arkitektur

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

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

  1. Azure Traffic Manager dirigerar en användares speltrafik till de appar som finns i Azure App Service, Functions eller Containers och till API:er som publiceras via Azure API Gateway.
  2. Azure CDN hanterar statiska avbildningar och spelinnehåll till användaren som lagras i Azure Blob Storage.
  3. Azure Cosmos DB lagrar användarens speltillståndsdata.
  4. Azure Databricks korrelerar, rensar och transformerar speltillståndsdata.
  5. Azure Functions bearbetar insikterna som härleds från Azure Databricks och skickar meddelanden till mobila enheter med hjälp av Azure Notification Hubs.

Komponenter

Den här arkitekturen innehåller följande komponenter:

  • Azure Traffic Manager är en DNS-baserad lastbalanserare som styr fördelningen av användartrafik för tjänstslutpunkter i olika Azure-regioner. Vid normal drift dirigerar den begäranden till den primära regionen. Om den regionen blir otillgänglig kan Traffic Manager redundansväxla till sekundär region efter behov.

  • Azure API Management tillhandahåller en API-gateway som finns framför Spel-API:erna. API Management kan också användas för att implementera problem, till exempel:

    • Framtvinga användningskvoter och hastighetsgränser
    • Validera OAuth-token för autentisering
    • Aktivera korsande begäranden (CORS)
    • Cachelagring svar
    • Övervaknings- och loggningsbegäranden
  • Azure App Service är värd för API-program som tillåter autoskalning och hög tillgänglighet utan att behöva hantera infrastrukturen.

  • Azure CDN levererar statiskt, cachelagrat innehåll från platser nära användare för att minska svarstiden.

  • Azure Blob Storage är optimerade för att lagra stora mängder ostrukturerade data, till exempel statiska spelmedier.

  • Azure Cosmos DB är en fullständigt hanterad NoSQL-databastjänst för att skapa och modernisera skalbara, högpresterande program.

  • Azure Databricks är en Apache Spark-baserad analysplattform som är optimerad för Microsoft Azures plattform för molntjänster.

  • Azure Functions är ett serverlöst beräkningsalternativ som gör att program kan köras på begäran utan att behöva hantera infrastrukturen.

  • Azure Notification Hubs är en enormt skalbar push-meddelandemotor för att snabbt skicka meddelanden till olika mobila enheter och plattformar.

Information om scenario

Potentiella användningsfall

Det här specifika scenariot baseras på ett spelscenario för spelutvecklingsindustrin. Designmönstren är relevanta för många branscher som krävs för att bearbeta webbanrop med hög trafik och API-begäranden, till exempel e-handel och detaljhandelsprogram.

Nästa steg

Läs följande artiklar i Azure Cosmos DB:

Produktdokumentation:

Följande lösningsidéer har Azure Cosmos DB: