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
Descargue un archivo Visio de esta arquitectura.
Flujo de datos
- 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.
- Azure CDN proporciona imágenes estáticas y contenidos del juego al usuario que se almacenan en Azure Blob Storage.
- Azure Cosmos DB almacena los datos de estado del juego del usuario.
- Azure Databricks correlaciona, limpia y transforma los datos de estado del juego.
- 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:
- Casos de uso comunes de Azure Cosmos DB
- Fuente de cambios en Azure Cosmos DB
- Período de vida (TTL) en Azure Cosmos DB
- Niveles de coherencia en Azure Cosmos DB
- Unidades de solicitud en Azure Cosmos DB
- Creación de particiones y escalado horizontal en Azure Cosmos DB
Documentación del producto:
- ¿Qué es Azure Traffic Manager?
- Azure API Management
- Introducción a Azure App Service
- ¿Qué es Azure CDN?
- ¿Qué es Azure Blob Storage?
- ¿Qué es Azure Databricks?
- Introducción a Azure Functions
- ¿Qué es Azure Notification Hubs?
Recursos relacionados
Las siguientes ideas de soluciones utilizan Azure Cosmos DB: