Játékok az Azure Database for MySQL használatával

API Apps
Content Delivery Network
Database for MySQL
HDInsight
Tárolás

Solution Idea

Ha szeretné, hogy ezt a cikket további információkkal bővítse ki, például a lehetséges használatot, az alternatív szolgáltatásokat, az implementációval kapcsolatos szempontokat vagy a díjszabási útmutatót, az GitHub visszajelzésével.

Ez a játékmegoldás-ötlet rugalmasan méretezi az adatbázist, hogy igazodjon a kiszámíthatatlan forgalomlökökhez, és globális szinten alacsony késésű többlejátszós élményt nyújt.

Lehetséges használati esetek

Ez a megoldás egy játékforgatókönyvre épül. A tervezési minták azonban számos olyan iparágban relevánsak, amelyek nagy forgalmú webes hívások és API-kérések feldolgozásához szükségesek, például az e-kereskedelem és a kiskereskedelmi alkalmazások esetében.

Architektúra

ArchitektúradiagramAz architektúra SVG-fájlját töltheti le.

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 Database for MySQL a felhasználó játékadatokat egy üzemeltetett tranzakciós adatbázisban tárolja.
  4. A rendszer Azure Database for MySQL adatok feldolgozását Azure Databricks az elemzési platformon tárolja.
  5. (Nem kötelező) Az Power BI az adatok értelmezéséhez és új vizualizációk létrehozásához

Összetevők

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

  • Azure Traffic Manager egy DNS-alapú terheléselosztó, amely a különböző Azure-régiókban található szolgáltatásvégpontokkal kapcsolatos felhasználói forgalom 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ék 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, 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 Database for MySQL egy teljes körűen felügyelt relációsadatbázis-szolgáltatás, amely a nyílt forráskódú MySQL adatbázismotor Community Edition kiadásán alapul.

  • Azure HDInsight egy felügyelt, teljes spektrumú, nyílt forráskódú elemzési szolgáltatás a felhőben vállalatok számára. Olyan nyílt forráskódú keretrendszereket használhat, mint a Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R stb.

  • (Nem kötelező) Power BI interaktív irányítópultot biztosít olyan vizualizációval, amely a SQL Server tárolt adatokat használja az előrejelzések alapján hozott döntések meghozatalához.

Következő lépések

A következő megoldási ötleteket Azure Database for MySQL: