Compartir a través de


Diagnóstico y solución de problemas de excepciones de servicio no disponible de Azure Cosmos DB

SE APLICA A: NoSQL

El SDK no pudo conectarse a Azure Cosmos DB. Este escenario puede ser transitorio o permanente en función de las condiciones de red.

Es importante asegurarse de que el diseño de la aplicación siga nuestra guía para diseñar aplicaciones resistentes con SDK de Azure Cosmos DB para asegurarse de que reacciona correctamente a diferentes condiciones de red. La aplicación debe tener reintentos en su lugar para errores de servicio no disponibles.

Al evaluar el caso de los errores del servicio no disponible:

  • ¿Cuál es el efecto —medido según el volumen de operaciones afectadas— comparado con el de operaciones que sí se realizaron correctamente? ¿Es este valor aplicable a los Acuerdos de Nivel de Servicio?
  • ¿Se ve afectada la latencia o disponibilidad de P99?
  • ¿Afectan los errores a todas las instancias de la aplicación, o solo a un subconjunto? Si el problema se reduce a un subconjunto de instancias, normalmente se trata de un problema relacionado con ellas.

Pasos para solucionar problemas

La lista siguiente contiene las causas conocidas y las soluciones para las excepciones de servicio no disponible.

Comprobación del código SubStatus

En determinadas condiciones, el error HTTP 503 Servicio no disponible incluye un código de subestado que ayuda a identificar la causa.

Código de subestado Descripción
20001 El error de servicio no disponible se produjo porque existen problemas de conectividad de cliente (errores al intentar conectarse). El cliente intentó recuperarse mediante el reintento, pero se produjo un error en todos los reintentos.
20002 El error de servicio no disponible se produjo porque existen tiempos de espera de cliente. El cliente intentó recuperarse mediante el reintento, pero se produjo un error en todos los reintentos.
20003 El error de servicio no disponible se produjo porque existen errores de E/S subyacentes que están relacionados con el sistema operativo. Consulte los detalles de la excepción para ver el error de E/S que está relacionado.
20004 El error de servicio no disponible se produjo porque la CPU de la máquina del cliente está sobrecargada.
20005 El error de servicio no disponible se produjo porque el grupo de subprocesos de la máquina del cliente está colapsado. Compruebe cualquier posible bloqueo de llamadas asincrónicas en el código.
20006 La conexión entre el servicio y el cliente se interrumpió o finalizó de forma inesperada.
>= 21001 Este error de servicio no disponible se produjo debido a una condición de servicio transitoria. Compruebe las condiciones de la sección anterior y confirme si ha implementado directivas de reintento. Si el volumen de estos errores es alto en comparación con las operaciones correctas, póngase en contacto con el soporte técnico de Azure.

Los puertos necesarios se están bloqueando

Compruebe que todos los puertos necesarios estén habilitados.

Problemas de conectividad transitorios en el lado cliente

Las excepciones de servicio no disponible pueden surgir cuando hay problemas de conectividad transitorios que provocan tiempos de espera y se pueden reintentar de forma segura siguiendo las recomendaciones de diseño.

Para resolverlo, siga los pasos de solución de problemas relativos al tiempo de espera de solicitud.

Interrupción del servicio

Compruebe el estado de Azure para ver si hay un problema continuado.

Pasos siguientes