Diagnosticar e solucionar problemas de exceções de serviço indisponível no Azure Cosmos DB
APLICA-SE A: NoSQL
O SDK não pôde se conectar ao Azure Cosmos DB. Esse cenário pode ser transitório ou permanente dependendo das condições de rede.
É importante garantir que o design do aplicativo esteja de acordo com nosso guia para criar aplicativos resilientes com SDKs do Azure Cosmos DB, para garantir que ele reaja corretamente a diferentes condições de rede. Seu aplicativo deve ter novas tentativas em vigor para erros de serviço indisponível.
Ao avaliar o caso de erros de serviço indisponível:
- Qual é o impacto medido no volume de operações afetadas, em comparação às operações bem-sucedidas? Está nos SLAs de serviço?
- A latência e a disponibilidade P99 são afetadas?
- As falhas estão afetando todas as instâncias de aplicativo ou apenas um subconjunto? Quando o problema é reduzido a um subconjunto de instâncias, normalmente é um problema relacionado a essas instâncias.
Etapas para solucionar problemas
A lista a seguir contém as causas conhecidas e as soluções para as exceções de serviço indisponível.
Verificar o código de substatus
Em algumas condições, o erro HTTP 503 Serviço não disponível incluirá um código de substatus para ajudar a identificar a causa.
Código de substatus | Descrição |
---|---|
20001 | O erro de serviço não disponível ocorreu porque há problemas de conectividade do lado do cliente (falhas ao tentar se conectar). O cliente tentou se recuperar tentando novamente mas todas as repetições falharam. |
20002 | O erro de serviço não disponível ocorreu porque há tempos limite atingidos do lado do cliente. O cliente tentou se recuperar tentando novamente mas todas as repetições falharam. |
20003 | O erro de serviço não disponível ocorreu porque há erros de E/S subjacentes relacionados ao sistema operacional. Confira os detalhes da exceção do erro de E/S relacionado. |
20004 | O erro de serviço não disponível ocorreu porque a CPU do computador cliente está sobrecarregada. |
20005 | O erro de serviço não disponível ocorreu porque o pool de threads do computador cliente está com privação. Verifique se há chamadas assíncronas de bloqueio no código. |
20006 | A conexão entre o serviço e o cliente foi interrompida ou encerrada de maneira inesperada. |
>= 21001 | Esse erro de serviço não disponível ocorreu devido a uma condição de serviço transitória. Verifique as condições na seção acima e confirme se você tem políticas de repetição em vigor. Se o volume desses erros for alto em comparação com os êxitos, entre em contato com o Suporte do Azure. |
As portas necessárias estão sendo bloqueadas
Verifique se todas as portas necessárias estão habilitadas.
Problemas de conectividade transitórios do lado do cliente
Exceções de serviço indisponível podem aparecer quando há problemas transitórios de conectividade que estejam causando tempos limite e podem ser repetidas com segurança seguindo as recomendações de design.
Siga as etapas de solução de problemas de tempo limite de solicitação para resolvê-lo.
Interrupção do serviço
Verifique o status do Azure para ver se há um problema em andamento.
Próximas etapas
- Diagnosticar e solucionar problemas ao usar o SDK do .NET para o Azure Cosmos DB.
- Diagnosticar e solucionar problemas ao usar o SDK do Java no Azure Cosmos DB.
- Saiba mais sobre as diretrizes de desempenho para o .NET.
- Saiba mais sobre as diretrizes de desempenho para o Java.