Editar

Compartir a través de


Juegos con Azure Cosmos DB

Azure App Service
Azure Cosmos DB

Ideas de solución

En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.

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.

Arquitectura

Diagrama de la arquitectura que muestra una idea de solución de juegos que usa Azure Cosmos DB.

Descargue un archivo Visio 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 a las API que se publican 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 Cosmos DB almacena los datos de estado del juego del usuario.
  4. Azure Databricks correlaciona, limpia y transforma los datos de estado del juego.
  5. Azure Functions procesa la información obtenida de Azure Databricks y envía notificaciones a los dispositivos móviles mediante Azure Notification Hubs.

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 Cosmos DB es un servicio de base de datos NoSQL totalmente administrado para compilar y modernizar aplicaciones escalables de alto rendimiento.

  • Azure Databricks es una plataforma de análisis basada en Apache Spark optimizada para la plataforma de servicios en la nube de Microsoft Azure.

  • Azure Functions es una opción de proceso sin servidor que permite ejecutar aplicaciones a petición sin tener que administrar la infraestructura.

  • Azure Notification Hubs es un motor de notificaciones de inserción escalable de forma masiva que se usa para enviar rápidamente notificaciones a diversos dispositivos móviles y plataformas.

Detalles del escenario

Posibles casos de uso

Este escenario específico se basa en un escenario de juegos para el sector de desarrollo de juegos. 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.

Pasos siguientes

Revise los artículos siguientes sobre Azure Cosmos DB:

Documentación del producto:

Las siguientes ideas de soluciones utilizan Azure Cosmos DB: