Spel med Cosmos DB

API Apps
Cosmos DB

Lösningsidé

Om du vill att vi utökar den här artikeln med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du berätta för oss GitHub Feedback!

Den här spellösningsidéen skalar databasen elastiskt för att hantera oförutsägbara trafikstörningar och leverera upplevelser med kort svarstid för flera spelare i global skala. Det här specifika scenariot baseras på ett spelscenario, men designmönstren är relevanta för många branscher som krävs för att bearbeta webbsamtal med hög trafik och API-begäranden, till exempel e-handel och detaljhandelsprogram.

Arkitektur

Arkitekturdiagram –Ladda ned en SVG för 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 statiska bilder 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 insikter som härletts från Azure Databricks push-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 distributionen 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 redundans till den sekundära regionen efter behov.

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

    • Framtvinga användningskvoter och hastighetsbegränsningar
    • Verifiera OAuth-token för autentisering
    • Aktivera begäranden om korsande ursprung (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ändarna 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 program med höga prestanda.

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

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

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

Nästa steg

Läs följande artiklar om Cosmos DB:

Följande funktion för lösningsidéer Azure Cosmos DB: