View a markdown version of this page

GAMEREL03-BP01Supervise las interrupciones del servidor de juegos y utilice los datos para mejorar la arquitectura de alojamiento y lograr los objetivos de confiabilidad - Lente de la industria del juego

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

GAMEREL03-BP01Supervise las interrupciones del servidor de juegos y utilice los datos para mejorar la arquitectura de alojamiento y lograr los objetivos de confiabilidad

Supervisa las métricas de los servidores de juegos y el impacto de los fallos o las disminuciones del rendimiento (por ejemplo, el aumento de la latencia durante la carga) en el comportamiento de los jugadores a lo largo del tiempo, de modo que puedas ajustar tu estrategia de alojamiento de servidores de juegos para cumplir con los requisitos de fiabilidad del juego. La infraestructura del servidor de juegos que se vaya a degradar debe retirarse del servicio inmediatamente si esto afecta a los jugadores o sustituirla de forma proactiva cuando no haya sesiones de jugadores activas alojadas en el servidor.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto

Guía para la implementación

En los casos en los que los juegos se alojan como API REST, la fiabilidad del sistema se puede gestionar de la misma manera que en las arquitecturas de aplicaciones web tradicionales, en las que se puede equilibrar la carga del tráfico entre varios servidores de forma distribuida para reducir el riesgo de fallos en los servidores.

En el caso de un juego sincrónico en tiempo real, una sesión de juego normalmente se aloja en un proceso de servidor de juegos que se ejecuta en una máquina virtual o instancia de servidor de juegos, ya que el estado del juego debe mantenerse de manera eficiente y replicarse en los clientes de juego conectados. Esta implementación significa que la experiencia del jugador está estrechamente vinculada al rendimiento y la fiabilidad del proceso del servidor del juego en el que se aloja su sesión de juego. Este tipo de arquitectura hace que administrar la confiabilidad de los servidores de juegos sea más complejo que los enfoques tradicionales.

Para mitigar el impacto de un fallo en un servidor de juegos, configura el juego para que actualice de forma continua y asincrónica el estado de juego del jugador en una caché o base de datos de alta disponibilidad, como Amazon ElastiCache (Redis OSS) o Amazon MemoryDB. https://aws.amazon.com/memorydb/ Si se produce un error en el servidor, el estado de la última partida guardada por el jugador se puede obtener del almacén de datos externo y su sesión se puede restaurar en una nueva instancia del servidor del juego.

Sin embargo, este enfoque añade costos y complejidad adicionales a la administración de este estado externo y puede no ser adecuado para juegos competitivos o de ritmo rápido en los que los cambios de estado son tan frecuentes y se producen a una escala tan significativa que la introducción de incluso un almacén de datos en caché en memoria de alto rendimiento provocaría un retraso en la replicación que es demasiado importante para que sea útil restaurar una sesión desde él. Para juegos de esta naturaleza, el enfoque óptimo es aceptar la pérdida del servidor y enviar al jugador de vuelta al lobby del juego para que busque otra sesión o puedes redirigirlo automáticamente a otra sesión de juego.

Recopila todos los datos de registro útiles sobre la causa de la interrupción del servidor para poder investigar el problema más adelante. Amazon GameLift proporciona orientación para depurar los problemas de la flota y ofrece la posibilidad de acceder de forma remota a las instancias de la GameLift flota de Amazon.

Pasos para la implementación

  • Supervise las métricas de los servidores de juegos para detectar las degradaciones del rendimiento y elimine o reemplace los servidores degradados según sea necesario para mantener la confiabilidad.

  • Utilice Amazon ElastiCache o MemoryDB para realizar actualizaciones asincrónicas del estado de los juegos a fin de permitir la recuperación de la sesión después de un error en el servidor, siempre que sea posible.

  • Capture datos de registro detallados sobre las interrupciones del servidor para su investigación y depuración, y aproveche herramientas como Amazon para la supervisión de la flota y el acceso remoto. GameLift