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é 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, 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. Ez az adott forgatókönyv egy játékforgatókönyven alapul, de a kialakítási minták számos olyan iparágban relevánsak, amelyek nagy forgalmú webes hívások és API-kérések, például e-kereskedelmi és kereskedelmi alkalmazások feldolgozásához szükségesek.

Architektúra

Architektúradiagram Az 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 felhasználói forgalom elosztását szabályozza a különböző Azure-régiókban található szolgáltatásvégpontokkal. 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ő problémákat 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 adatok alapján hoz döntéseket az előrejelzések alapján.

Következő lépések

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