Diagnozowanie i rozwiązywanie problemów z wyjątkami niedostępności usługi Azure Cosmos DB
DOTYCZY: NoSQL
Zestaw SDK nie mógł nawiązać połączenia z usługą Azure Cosmos DB. Ten scenariusz może być przejściowy lub trwały w zależności od warunków sieciowych.
Ważne jest, aby upewnić się, że projekt aplikacji jest zgodnie z naszym przewodnikiem dotyczącym projektowania odpornych aplikacji przy użyciu zestawów SDK usługi Azure Cosmos DB, aby upewnić się, że prawidłowo reaguje na różne warunki sieciowe. Aplikacja powinna mieć zaimplementowane ponawianie prób w przypadku błędów z powodu niedostępnej usługi.
Podczas oceniania przypadku dla błędów z powodu niedostępnej usługi:
- Jaki jest efekt mierzony w ilości operacji, których dotyczy problem w porównaniu z powodzeniem operacji? Czy jest ona w ramach umów SLA usługi?
- Czy ma to wpływ na opóźnienie /dostępność P99?
- Czy awarie wpływają na wszystkie wystąpienia aplikacji, czy tylko na ich podzestaw? Gdy problem zostanie zredukowany do podzestawu wystąpień, często jest to problem związany z tymi wystąpieniami.
Kroki rozwiązywania problemów
Poniższa lista zawiera znane przyczyny i rozwiązania dla wyjątków niedostępnych usługi.
Weryfikowanie kodu stanu podrzędnego
W niektórych warunkach błąd HTTP 503 Usługa niedostępna zawiera kod stanu podrzędnego, który pomaga zidentyfikować przyczynę.
Kod podstatu | opis |
---|---|
20001 | Wystąpił błąd niedostępności usługi, ponieważ występują problemy z łącznością po stronie klienta (błędy próbujące nawiązać połączenie). Klient próbował odzyskać, ponowiając próbę, ale wszystkie próby nie powiodły się. |
20002 | Wystąpił błąd niedostępności usługi, ponieważ występują przekroczenia limitu czasu po stronie klienta. Klient próbował odzyskać, ponowiając próbę, ale wszystkie próby nie powiodły się. |
20003 | Wystąpił błąd niedostępności usługi, ponieważ występują podstawowe błędy we/wy związane z systemem operacyjnym. Zobacz szczegóły wyjątku dotyczące powiązanego błędu we/wy. |
20004 | Wystąpił błąd niedostępności usługi, ponieważ procesor CPU komputera klienckiego jest przeciążony. |
20005 | Wystąpił błąd niedostępności usługi, ponieważ pula wątków maszyny klienckiej jest głodna. Sprawdź potencjalne blokowanie wywołań asynchronicznych w kodzie. |
20006 | Połączenie między usługą a klientem zostało przerwane lub przerwane w nieoczekiwany sposób. |
>= 21001 | Ten błąd niedostępności usługi wystąpił z powodu przejściowego warunku usługi. Sprawdź warunki w powyższej sekcji, upewnij się, że zostały wprowadzone zasady ponawiania prób. Jeśli liczba tych błędów jest wysoka w porównaniu z przypadkami powodzenia, skontaktuj się z pomocą techniczną platformy Azure. |
Wymagane porty są blokowane
Sprawdź, czy wszystkie wymagane porty są włączone.
Przejściowe problemy z łącznością po stronie klienta
Wyjątki niedostępności usługi mogą występować, gdy występują przejściowe problemy z łącznością, które powodują przekroczenie limitu czasu i można je bezpiecznie ponowić zgodnie z zaleceniami dotyczącymi projektowania.
Postępuj zgodnie z instrukcjami rozwiązywania problemów z limitem czasu żądania, aby rozwiązać ten problem.
Awaria usługi
Sprawdź stan platformy Azure, aby sprawdzić, czy występuje bieżący problem.
Następne kroki
- Diagnozowanie i rozwiązywanie problemów podczas korzystania z zestawu .NET SDK usługi Azure Cosmos DB.
- Diagnozowanie i rozwiązywanie problemów podczas korzystania z zestawu JAVA SDK usługi Azure Cosmos DB.
- Dowiedz się więcej o wytycznych dotyczących wydajności dla platformy .NET.
- Dowiedz się więcej o wytycznych dotyczących wydajności dla języka Java.