Диагностика и устранение неполадок, связанных с исключениями из-за недоступности службы Azure Cosmos DB
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Пакету SDK не удалось подключиться к Azure Cosmos DB. Этот сценарий может быть временным или постоянным в зависимости от условий сети.
Важно убедиться, что разработка приложения выполняется в нашем руководстве по проектированию устойчивых приложений с помощью пакетов SDK Azure Cosmos DB, чтобы убедиться, что он правильно реагирует на различные сетевые условия. Приложение должно включать повторные попытки для ошибок недоступности службы.
При оценке случая для ошибок недоступности службы:
- Какой эффект измеряется в объеме операций, затронутых по сравнению с операциями, которые выполняются успешно? Находится ли этот показатель в рамках условий соглашения об уровне обслуживания?
- Затронута ли доступность или задержка P99?
- Сбои затрагивают все экземпляры приложения или только подмножество? Если проблема ограничена подмножеством экземпляров, обычно проблема связана именно с этими экземплярами.
Действия по устранению неполадок
Ниже перечислены известные причины исключений, связанных с недоступностью службы, и решения по их устранению.
Проверка кода подсостояния
В некоторых условиях ошибка службы HTTP 503 недоступна, включает код подстатуса, который помогает определить причину.
Код подстатуса | Description |
---|---|
20001 | Ошибка "Служба недоступна" произошла из-за проблем с подключением на стороне клиента (сбои при попытке подключения). Клиент пытался восстановиться, повторив попытку, но все повторные попытки завершились сбоем. |
20002 | Ошибка "Служба недоступна" произошла из-за превышения времени ожидания на стороне клиента. Клиент пытался восстановиться, повторив попытку, но все повторные попытки завершились сбоем. |
20003 | Ошибка "Служба недоступна" произошла из-за базовых ошибок ввода-вывода, связанных с операционной системой. См. сведения об исключении для соответствующей ошибки ввода-вывода. |
20004 | Ошибка "Служба недоступна" произошла из-за перегрузки ЦП клиентского компьютера. |
20005 | Ошибка недоступности службы произошла из-за нехватки пула потоков клиентского компьютера. Проверьте, нет ли блокирующих асинхронных вызовов в коде. |
20006 | Соединение между службой и клиентом было прервано или прервано неожиданным образом. |
>= 21001 | Ошибка "Служба недоступна" произошла из-за временного состояния службы. Проверьте условия в приведенном выше разделе и убедитесь в наличии политик повторных попыток. Если таких ошибок больше, чем успешных попыток, обратитесь в Службу поддержки Azure. |
Требуемые порты блокируются
Убедитесь, что включены все необходимые порты.
Временные проблемы с подключением на стороне клиента
Исключения о недоступности службы могут возникнуть при наличии временных проблем с подключением, вызывающих превышение времени ожидания. В этом случае можно безопасно выполнить повторные попытки установки подключения в соответствии с рекомендациям по проектированию.
Чтобы устранить эту проблему, выполните действия по устранению неполадок со временем ожидания запроса.
Простой службы
Проверьте состояние Azure, чтобы выяснить, по-прежнему ли ошибка существует.
Следующие шаги
- Диагностика и устранение неполадок, возникающих при использовании пакета SDK Azure Cosmos DB для .NET.
- Диагностика и устранение неполадок, возникающих при использовании пакета SDK для Java в Azure Cosmos DB.
- Ознакомьтесь с рекомендациями по производительности для .NET.
- Ознакомьтесь с рекомендациями по производительности для Java.