View a markdown version of this page

GAMEREL03-BP01Monitore interrupções no servidor de jogos e use os dados para melhorar a arquitetura de hospedagem e atingir metas de confiabilidade - Lentes da indústria de jogos

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

GAMEREL03-BP01Monitore interrupções no servidor de jogos e use os dados para melhorar a arquitetura de hospedagem e atingir metas de confiabilidade

Monitore as métricas do servidor de jogos e o impacto de falhas ou degradações no desempenho, como aumento da latência sob carga, no comportamento do jogador ao longo do tempo, para que você possa ajustar sua estratégia de hospedagem do servidor de jogos para atender aos requisitos de confiabilidade do seu jogo. A infraestrutura do servidor de jogos a ser degradada deve ser removida do serviço imediatamente se estiver afetando os jogadores ou substituída proativamente quando não houver sessões ativas de jogadores hospedadas no servidor.

Nível de risco exposto se esta prática recomendada não for estabelecida: Alto

Orientação para implementação

Para cenários em que os jogos são hospedados como APIs REST, a confiabilidade do sistema pode ser gerenciada da mesma forma que as arquiteturas tradicionais de aplicativos da Web, em que o tráfego pode ser balanceado em vários servidores de forma distribuída para reduzir o risco de falhas no servidor.

Para jogabilidade síncrona em tempo real, uma sessão de jogo geralmente é hospedada em um processo de servidor de jogo executado em uma máquina virtual ou instância de servidor de jogo, pois o estado do jogo precisa ser mantido de forma eficiente e replicado para clientes de jogos conectados. Essa implementação significa que a experiência de um jogador está intimamente ligada ao desempenho e à confiabilidade do processo do servidor de jogos que hospeda sua sessão de jogo. Esse tipo de arquitetura torna o gerenciamento da confiabilidade dos servidores de jogos mais complexo do que as abordagens tradicionais.

Para mitigar o impacto de uma falha no servidor de jogos, configure seu jogo para realizar continuamente atualizações assíncronas do estado do jogo de um jogador em um cache ou banco de dados altamente disponível, como Amazon ElastiCache (Redis OSS) ou Amazon MemoryDB. https://aws.amazon.com/memorydb/ Se ocorrer uma falha no servidor, o último estado de jogo salvo do jogador poderá ser obtido no armazenamento de dados externo e sua sessão poderá ser restaurada em uma nova instância do servidor de jogos.

No entanto, essa abordagem adiciona custos e complexidade adicionais ao gerenciamento desse estado externo e pode não ser adequada para jogos competitivos ou de ritmo acelerado, em que as mudanças de estado são tão frequentes e acontecem em uma escala tão significativa que a introdução de até mesmo um armazenamento de dados em cache de memória de alto desempenho resultaria em um atraso de replicação significativo demais para ser útil restaurar uma sessão. Para jogos dessa natureza, a abordagem ideal é aceitar a perda do servidor e enviar o jogador de volta ao lobby do jogo para encontrar outra sessão ou você pode redirecioná-lo automaticamente para outra sessão de jogo.

Capture o máximo de dados de registro úteis sobre o que causou a interrupção do servidor para que você possa investigar o problema posteriormente. GameLift A Amazon fornece orientação para depurar problemas da frota e fornece a capacidade de acessar remotamente as instâncias da frota da Amazon. GameLift

Etapas de implementação

  • Monitore as métricas do servidor de jogos em busca de degradações no desempenho e remova ou substitua servidores degradados conforme necessário para manter a confiabilidade.

  • Use o Amazon ElastiCache ou o MemoryDB para atualizações assíncronas do estado do jogo para permitir a recuperação da sessão após falhas no servidor, quando possível.

  • Capture dados de registro detalhados sobre interrupções no servidor para investigação e depuração, aproveitando ferramentas como a Amazon GameLift para monitoramento de frotas e acesso remoto.