Gamen met Cosmos DB

API Apps
Cosmos DB

Oplossingsidee

Als u wilt dat we dit artikel uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsinformatie, laat het ons dan weten met GitHub Feedback!

Met dit gamingoplossingsidee wordt uw database elastisch geschaald om onvoorspelbare bursts van verkeer aan te kunnen en op wereldwijde schaal ervaringen met meerdere spelers met lage latentie te bieden. Dit specifieke scenario is gebaseerd op een gamingscenario, maar de ontwerppatronen zijn relevant voor veel branches die nodig zijn voor het verwerken van webaanvragen en API-aanvragen met veel verkeer, zoals e-commerce- en retailtoepassingen.

Architectuur

Architectuurdiagram Download een SVG van deze architectuur.

Gegevensstroom

  1. Azure Traffic Manager routeert het gameverkeer van een gebruiker naar de apps die worden gehost in Azure App Service, Functions of Containers en 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. Azure Cosmos DB slaat de gametoestandgegevens van de gebruiker op.
  4. Azure Databricks correleert, opschoont en transformeert game-statusgegevens.
  5. Azure Functions verwerkt de inzichten die zijn afgeleid van Azure Databricks en pushmeldingen met behulp van Azure Notification Hubs naar mobiele apparaten.

Onderdelen

Deze architectuur bevat de volgende onderdelen:

  • Azure Traffic Manager is een dns-gebaseerde load balancer die de distributie van gebruikersverkeer voor service-eindpunten in verschillende Azure-regio's beheert. Normaliter worden aanvragen gerouteerd naar de primaire regio. Als deze regio niet meer beschikbaar is, Traffic Manager u zo nodig een fail over naar de secundaire regio.

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

    • Gebruiksquota en snelheidslimieten afdwingen
    • OAuth-tokens valideren voor verificatie
    • Cross-origin-aanvragen (CORS) inschakelen
    • Caching antwoorden
    • Aanvragen bewaken en registreren
  • Azure App Service host API-toepassingen die automatisch schalen en hoge beschikbaarheid mogelijk maken zonder dat u de infrastructuur moet beheren.

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

  • Azure Blob Storage zijn 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 toepassingen met hoge prestaties.

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

  • Azure Functions zijn serverloze rekenopties waarmee toepassingen op aanvraag kunnen worden uitgevoerd zonder dat u de infrastructuur moet beheren.

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

Volgende stappen

Lees de volgende artikelen over Cosmos DB:

De volgende oplossingsideeën zijn Azure Cosmos DB: