Juegos mediante Azure Database for MySQL

API Apps
Content Delivery Network
Database for MySQL
HDInsight
Storage

Idea de solución

Si le gustaría que expandamos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comuníquese a través de los Comentarios de GitHub.

Esta idea de solución de juegos escala de forma elástica la base de datos para dar cabida a picos impredecibles de tráfico y ofrecer experiencias multijugador de baja latencia a escala mundial.

Posibles casos de uso

Esta solución se basa en un escenario de juegos. Sin embargo, los modelos de diseño son importantes para muchos sectores que requieren el procesamiento de llamadas web de tráfico elevado y solicitudes de API, como las aplicaciones de comercio electrónico y venta minorista.

Architecture

Diagrama de la arquitecturaDescargue un SVG de esta arquitectura.

Flujo de datos

  1. Azure Traffic Manager enruta el tráfico de juego de un usuario a las aplicaciones hospedadas en Azure App Service, Functions o Containers y las API publicadas a través de la puerta de enlace de la API de Azure.
  2. Azure CDN proporciona imágenes estáticas y contenidos del juego al usuario que se almacenan en Azure Blob Storage.
  3. Azure Database for MySQL almacena los datos de juego del usuario en una base de datos transaccionales hospedada.
  4. Los datos de Azure Database for MySQL se procesan mediante Azure Databricks y se almacenan en la plataforma de análisis.
  5. (Opcional) Use Power BI para interpretar estos datos y crear nuevas visualizaciones.

Componentes

Esta arquitectura incluye los siguientes componentes:

  • Azure Traffic Manager es un equilibrador de carga basado en DNS que controla la distribución del tráfico de usuario en los puntos de conexión de servicio de las diferentes regiones de Azure. Durante las operaciones normales enruta las solicitudes a la región primaria. Si esa región no está disponible, Traffic Manager puede conmutar por error a la región secundaria si es necesario.

  • Azure API Management proporciona una puerta de enlace de API que se coloca delante de las API de juegos. API Management también se puede utilizar para implementar cuestiones como:

    • Aplicación de cuotas de uso y límites de frecuencia
    • Validación de tokens de OAuth para la autenticación
    • Habilitación de solicitudes entre orígenes (CORS)
    • Almacenamiento en caché de las respuestas
    • Supervisión y registro de solicitudes
  • Azure App Service hospeda aplicaciones de API que permiten la escalabilidad automática y una alta disponibilidad sin tener que administrar la infraestructura.

  • Azure CDN ofrece contenido estático almacenado en caché desde ubicaciones cercanas a los usuarios para reducir la latencia.

  • Azure Blob Storage está optimizado para almacenar grandes cantidades de datos no estructurados, como los elementos multimedia de los juegos estáticos.

  • Azure Database for MySQL es un servicio de base de datos relacional totalmente administrado que se basa en la Community Edition del motor de base de datos de código abierto MySQL.

  • Azure HDInsight es un servicio de análisis, de código abierto, espectro completo y administrado en la nube para empresas. Puede usar plataformas de código abierto, como Hadoop, Apache Spark, Apache Hive, LLAP, Apache Kafka, Apache Storm, R, etc.

  • (Opcional) Power BI proporciona un panel interactivo con visualización que utiliza los datos almacenados en SQL Server para tomar decisiones sobre las predicciones.

Pasos siguientes

Las siguientes ideas de soluciones utilizan Azure Database for MySQL: