Falha em servidor auxiliar Auxiliary service outage
ID da causa in-subservice · Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Infraestrutura de servidores (Equipe de infraestrutura)
Quando falha um servidor que roda separado do servidor do jogo, como chat, party ou casa de leilões, só aquela função para de funcionar.
Por quê O servidor dedicado a uma função fica lento ou cai → Efeito Só as requisições daquela função ficam sem resposta → Na tela Chat não funciona, convite de party sem resposta, mercado em loading infinito (o combate funciona normalmente)
Aleatoriamente, de vez em quando, Quando junta muita gente
Responsável
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento) · Também envolvidos Infraestrutura de servidores (Equipe de infraestrutura)
O que fazer (Equipe de desenvolvimento)
Projetar para que o jogo continue mesmo com falhas, mostrar o estado de cada função, não concentrar várias funções em um único servidor central.
O que fazer (Equipe de infraestrutura)
Health check e alertas para cada servidor auxiliar, redundância e reinício automático.
No gráfico
Queda de conexões em massa · Taxa de sucesso das requisições por função, conexões e health check dos servidores auxiliares
Onde olhar
Health check, estado do processo e número de conexões de cada servidor auxiliar (chat, party, casa de leilões etc.), taxa de sucesso e tempo de resposta das requisições por função. Atrás de um load balancer, o UnHealthyHostCount do grupo de destino
Confirma se
Só o servidor da função reportada mostra falha no health check ou queda brusca de conexões, e o tick e o combate do servidor do jogo estão normais
Descarta se
Várias funções pararam juntas: aponta para o servidor central que intermedeia essas funções ou para falha em cascata
Como verificar
Ferramentas de infra (sem precisar do código do jogo)
Saiba mais
Se um único servidor central (servidor de mundo ou gerenciador) intermedeia party, guilda, mensagens privadas e troca de servidor, várias funções param de uma vez quando esse servidor fica lento.
Fontes
Bulkhead PatternMicrosoft Azure Isolar os componentes em pools faz com que, se um falhar, os outros continuem funcionando e a falha não se espalhe