Lösningsidéer
I den här artikeln beskrivs en lösningsidé. Molnarkitekten kan använda den här vägledningen för att visualisera huvudkomponenterna för en typisk implementering av den här arkitekturen. Använd den här artikeln som utgångspunkt för att utforma en välkonstruerad lösning som överensstämmer med arbetsbelastningens specifika krav.
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
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
- 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.
- Azure CDN hanterar statiska avbildningar och spelinnehåll till användaren som lagras i Azure Blob Storage.
- Azure Cosmos DB lagrar användarens speltillståndsdata.
- Azure Databricks korrelerar, rensar och transformerar speltillståndsdata.
- 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)
- Cachelagringssvar
- Ö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:
- Vanliga användningsfall för Azure Cosmos DB
- Ändringsflöde i Azure Cosmos DB
- Time to Live i Azure Cosmos DB
- Konsekvensnivåer i Azure Cosmos DB
- Enheter för programbegäran i Azure Cosmos DB
- Partitionering och horisontell skalning i Azure Cosmos DB
Produktdokumentation:
- Vad är Azure Traffic Manager?
- Azure API Management
- Översikt över Azure App Service
- Vad är Azure CDN?
- Vad är Azure Blob Storage?
- Vad är Azure Databricks?
- Introduktion till Azure Functions
- Vad är Azure Notification Hubs?
Relaterade resurser
Följande lösningsidéer har Azure Cosmos DB: