Játék a Cosmos DB használatával

API Apps
Cosmos DB

Solution Idea

Ha szeretné látni, hogyan bővítjük ki ezt a cikket olyan további információkkal, mint a lehetséges esetek, az alternatív szolgáltatások, az implementációval kapcsolatos megfontolások vagy a díjszabási útmutató, GitHub visszajelzéssel!

Ez a játékmegoldás-ötlet rugalmasan méretezi az adatbázist a kiszámíthatatlan adatforgalomnak való igazodás érdekében, és kis késésű, több játékost is képes biztosítani globális léptékben. Ez az adott forgatókönyv egy játékforgatókönyvre épül, de a tervezési minták számos olyan iparágban relevánsak, amelyek a nagy forgalmú webes hívások és API-kérések, például az e-kereskedelem és a kiskereskedelmi alkalmazások feldolgozásához szükségesek.

Architektúra

Architektúradiagram Az architektúra SVG-nek letöltése.

Adatfolyam

  1. Azure Traffic Manager a felhasználó játékforgalmát az Azure API Gatewayen keresztül közzétett Azure App Service, Functions- vagy tárolókban és API-kban üzemeltetett alkalmazásokhoz.
  2. Azure CDN azure blobtárolóban tárolt felhasználó számára statikus képeket és játéktartalmat Storage.
  3. Azure Cosmos DB a felhasználó játékállapot-adatait.
  4. Azure Databricks, megtisztítja és átalakítja a játék állapotával kapcsolatos adatokat.
  5. Azure Functions az Azure Notification Hubs használatával feldolgozza a Azure Databricks és leküldéses értesítésekből származó elemzéseket.

Összetevők

Ez az architektúra a következő összetevőket tartalmazza:

  • Azure Traffic Manager egy DNS-alapú terheléselosztó, amely a felhasználói forgalom különböző Azure-régiókban található szolgáltatásvégpontokkal való elosztását szabályozza. A normál működés során a rendszer az elsődleges régió felé irányítja a kérelmeket. Ha ez a régió elérhetetlenné válik, a Traffic Manager szükség szerint átveheti a feladatátvételt a másodlagos régióba.

  • Az Azure API Management egy API-átjárót biztosít, amely a Játékok API-k előtt található. API Management a következő szempontokat is megvalósíthatja:

    • Használati kvóták és sebességkorlátok kényszerítése
    • OAuth-jogkivonatok hitelesítéshez való hitelesítése
    • Az eredetközi kérések (CORS) engedélyezése
    • Caching válaszok
    • Monitorozási és naplózási kérések
  • Azure App Service API-alkalmazásokat, amelyek lehetővé teszik az automatikus skálázást és a magas rendelkezésre állást infrastruktúra kezelése nélkül.

  • Azure CDN statikus, gyorsítótárazott tartalmakat biztosít a felhasználókhoz közeli helyekről a késés csökkentése érdekében.

  • Az Azure Blob Storage nagy mennyiségű strukturálatlan adat, például statikus játék média tárolására vannak optimalizálva.

  • Azure Cosmos DB egy teljes körűen felügyelt NoSQL-adatbázisszolgáltatás méretezhető, nagy teljesítményű alkalmazások létrehozásához és modernizálásához.

  • Az Azure Databricks a Microsoft Azure Cloud Services platformra optimalizált Apache Spark-alapú elemzési platform.

  • Azure Functions olyan kiszolgáló nélküli számítási lehetőségek, amelyek lehetővé teszik az alkalmazások igény szerinti futtatását infrastruktúra kezelése nélkül.

  • Az Azure Notification Hubs egy nagymértékben skálázható leküldéses értesítési motor, amely gyorsan küld értesítéseket különböző mobileszközökre és platformokra.

Következő lépések

Tekintse át a következő cikkeket a Cosmos DB:

A következő megoldási ötleteket Azure Cosmos DB: