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.
A lista a seguir contém as causas conhecidas e as soluções para as exceções de serviço indisponível.
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. |
Verifique se todas as portas necessárias estão habilitadas.
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.
Verifique o status do Azure para ver se há um problema em andamento.
- 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.