Diagnosticar e resolver problemas de exceções indisponíveis do serviço Azure Cosmos DB

APLICA-SE A: NoSQL

O SDK não conseguiu ligar-se ao Azure Cosmos DB. Este cenário pode ser transitório ou permanente dependendo das condições da rede.

É importante garantir que a estrutura da aplicação está a seguir o nosso guia para conceber aplicações resilientes com SDKs do Azure Cosmos DB para garantir que reage corretamente a diferentes condições de rede. A aplicação deverá ter a política de repetição em vigor para os erros de serviço indisponível.

Ao avaliar o caso de erros de serviço indisponível:

  • Qual é o efeito medido no volume de operações afetadas em comparação com as operações com êxito? Está dentro dos SLAs de serviço?
  • A latência/disponibilidade P99 foi afetada?
  • As falhas estão a afetar todas as instâncias de aplicação ou apenas um subconjunto? Quando o problema é reduzido a um subconjunto de instâncias,geralmente, trata-se de um problema relacionado com essas instâncias.

Passos de resolução de problemas

A lista seguinte contém causas conhecidas e soluções para exceções de serviço indisponíveis.

Verificar o código de subestado

Em determinadas condições, o erro Serviço HTTP 503 Indisponível inclui um código de substatus que ajuda a identificar a causa.

Código do Substatus Description
20001 Ocorreu um erro de serviço indisponível porque existem problemas de conectividade do lado do cliente (falhas ao tentar ligar). O cliente tentou recuperar repetindo , mas todas as tentativas falharam.
20002 Ocorreu um erro de serviço indisponível porque existem tempos limite do lado do cliente. O cliente tentou recuperar repetindo , mas todas as tentativas falharam.
20003 O erro de serviço indisponível ocorreu porque existem erros de E/S subjacentes relacionados com o sistema operativo. Veja os detalhes da exceção para o erro de E/S relacionado.
20004 Ocorreu um erro de serviço indisponível porque a CPU do computador cliente está sobrecarregada.
20005 Ocorreu um erro de serviço indisponível porque o conjunto de threads do computador cliente está com fome. Verifique se existem potenciais chamadas assíncronas de bloqueio no seu código.
20006 A ligação entre o serviço e o cliente foi interrompida ou terminada de forma inesperada.
>= 21001 Este erro de serviço indisponível ocorreu devido a uma condição de serviço transitória. Verifique as condições na secção acima. Confirme se tem políticas de repetição implementadas. Se o volume destes erros for elevado em comparação com os sucessos, contacte o Suporte do Azure.

As portas necessárias estão a ser bloqueadas

Verifique se todas as portas necessárias estão ativadas.

Problemas de conectividade transitória do lado do cliente

As exceções de serviço indisponível podem surgir quando existem problemas transitórios de conectividade que estão a causar tempos limite e podem ser repetidos com segurança ao seguir as recomendações de conceção.

Siga os passos de resolução de problemas de tempo limite do pedido para o resolver.

Falha do serviço

Verifique o estado do Azure para ver se existe um problema em curso.

Passos seguintes