Gamen met Behulp van Azure Cosmos DB

Azure App Service
Azure Cosmos DB

Oplossingsideeën

Dit artikel is een oplossingsidee. Als u wilt dat we de inhoud uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsrichtlijnen, laat het ons dan weten door GitHub-feedback te geven.

Met dit idee van een gamingoplossing kunt u uw database elastisch schalen om onvoorspelbare pieken van verkeer mogelijk te maken en multispelerervaringen met lage latentie te leveren op wereldwijde schaal.

Architectuur

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

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

  1. Azure Traffic Manager stuurt het gameverkeer van een gebruiker naar de apps die worden gehost in Azure-app Service, Functions of Containers en naar API's die zijn gepubliceerd via Azure API Gateway.
  2. Azure CDN dient statische afbeeldingen en game-inhoud voor de gebruiker die zijn opgeslagen in Azure Blob Storage.
  3. In Azure Cosmos DB worden gegevens van de gamestatus van de gebruiker opgeslagen.
  4. Azure Databricks correleert, schoont en transformeert gamestatusgegevens.
  5. Azure Functions verwerkt de inzichten die zijn afgeleid van Azure Databricks en pusht meldingen naar mobiele apparaten met behulp van Azure Notification Hubs.

Onderdelen

Deze architectuur bevat de volgende onderdelen:

  • Azure Traffic Manager is een op DNS gebaseerde load balancer waarmee de distributie van gebruikersverkeer voor service-eindpunten in verschillende Azure-regio's wordt beheerd. Normaliter worden aanvragen gerouteerd naar de primaire regio. Als deze regio niet beschikbaar is, kan Traffic Manager indien nodig een failover naar de secundaire regio uitvoeren.

  • Azure API Management biedt een API-gateway die zich voor de Gaming-API's bevindt. API Management kan ook worden gebruikt om problemen te implementeren, zoals:

    • Gebruiksquota en frequentielimieten afdwingen
    • OAuth-tokens valideren voor verificatie
    • CORS (Cross-Origin Requests) inschakelen
    • Antwoorden opslaan in cache
    • Aanvragen voor bewaking en logboekregistratie
  • Azure-app Service host API-toepassingen die automatisch schalen en hoge beschikbaarheid mogelijk maken zonder infrastructuur te hoeven beheren.

  • Azure CDN levert statische, in de cache opgeslagen inhoud van locaties dicht bij gebruikers om de latentie te verminderen.

  • Azure Blob Storage is geoptimaliseerd voor het opslaan van grote hoeveelheden ongestructureerde gegevens, zoals statische gamingmedia.

  • Azure Cosmos DB is een volledig beheerde NoSQL-databaseservice voor het bouwen en moderniseren van schaalbare, krachtige toepassingen.

  • Azure Databricks is een op Apache Spark gebaseerd analyseplatform, geoptimaliseerd voor het Microsoft Azure-platform voor cloudservices.

  • Azure Functions is een serverloze rekenoptie waarmee toepassingen on-demand kunnen worden uitgevoerd zonder dat ze infrastructuur hoeven te beheren.

  • Azure Notification Hubs is een zeer schaalbare engine voor pushmeldingen voor het snel verzenden van meldingen naar verschillende mobiele apparaten en platforms.

Scenariodetails

Potentiële gebruikscases

Dit specifieke scenario is gebaseerd op een gamingscenario voor de gameontwikkelingsindustrie. De ontwerppatronen zijn relevant voor veel branches die nodig zijn voor het verwerken van web-aanroepen met veel verkeer en API-aanvragen, zoals e-commerce en retailtoepassingen.

Volgende stappen

Raadpleeg de volgende artikelen over Azure Cosmos DB:

Productdocumentatie:

De volgende oplossingsideeën zijn beschikbaar in Azure Cosmos DB: