Quando um serviço externo, como login da plataforma, pagamento ou verificação de identidade, fica lento ou para, o jogador fica preso nessa etapa.
Por quê Falha ou lentidão no serviço externo de autenticação ou pagamento → Efeito Espera pela resposta nessa etapa → Na tela Não consegue fazer login, pagamento falha. Quem já está jogando não é afetado
Logo após login ou manutenção, Ao fazer ações específicas
Responsável
Responsável principal Externo (Externo) · Também envolvidos Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Timeout e mensagem clara nas chamadas externas, cache do resultado da autenticação, retry e procedimento de compensação para pagamentos.
O que fazer (Externo)
Pedir aos provedores de autenticação, pagamento e plataforma que confirmem a falha e restabeleçam o serviço, avisar os jogadores de que a falha está em um serviço externo.
No gráfico
Degrau a partir de um momento · Tempo de resposta e taxa de erros das chamadas externas, logins bem-sucedidos
Onde olhar
Tempo de resposta, taxa de erros e número de timeouts de cada chamada externa (login da plataforma, pagamento, verificação de identidade) e a página de status do provedor
Confirma se
A partir do horário em que as falhas de login e pagamento se concentram, só os erros e timeouts de uma chamada externa sobem um degrau e ficam lá, e a página de status do provedor mostra falha no mesmo horário
Descarta se
Chamadas externas normais, mas login bloqueado: aponta para o próprio servidor de login (esgotamento do pool de threads, BD) ou para a fila de conexões do sistema operacional (backlog)
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Timeouts, retries, and backoff with jitterAWS Amazon Builders' Library. Enquanto espera a resposta, a chamada ocupa recursos como threads e conexões, por isso usar timeout e só fazer retry de APIs com efeitos colaterais quando a idempotência estiver garantida
Circuit Breaker PatternMicrosoft Azure Chamadas com alta chance de falhar são recusadas na hora, sem esperar o timeout, para manter o tempo de resposta