Diagnose und Troubleshooting der Ausnahme „Azure Cosmos DB nicht verfügbar“
GILT FÜR: NoSQL
Das SDK war nicht in der Lage, eine Verbindung mit Azure Cosmos DB herzustellen. Dieses Szenario kann je nach Netzwerkbedingungen vorübergehend oder dauerhaft sein.
Es ist wichtig sicherzustellen, dass das Anwendungsdesign unserem Leitfaden zum Entwerfen robuster Anwendungen mit Azure Cosmos DB SDKs folgt, um sicherzustellen, dass es richtig auf unterschiedliche Netzwerkbedingungen reagiert. Ihre Anwendung sollte über Wiederholungsversuche für Fehler bei nicht verfügbaren Diensten verfügen.
Bei der Bewertung des Falles von Dienst-nicht-verfügbar-Fehlern:
- Wie groß ist die Auswirkung gemessen an der Menge der betroffenen Vorgänge im Vergleich zu den erfolgreichen Vorgängen? Liegt dieser Wert innerhalb der Dienst-SLAs?
- Ist die P99-Latenz/-Verfügbarkeit betroffen?
- Betreffen die Fehler alle Ihre Anwendungsinstanzen oder nur einen Teil? Wenn sich das Problem auf einen Teil der Instanzen beschränkt, handelt es sich in der Regel um ein Problem, das mit diesen Instanzen in Zusammenhang steht.
Schritte zur Problembehandlung
Die folgende Liste enthält bekannte Gründe und Lösungen für Ausnahmen, dass ein Dienst nicht verfügbar ist.
Überprüfen des Substatuscodes
Unter bestimmten Bedingungen enthält der HTTP-Fehler 503 „Dienst nicht verfügbar“ einen Substatuscode, mit dem sich die Ursache identifizieren lässt.
Substatuscode | BESCHREIBUNG |
---|---|
20001 | Der Fehler „Dienst nicht verfügbar“ ist aufgrund clientseitiger Konnektivitätsprobleme auftreten (Fehler bei dem Versuch, eine Verbindung herzustellen). Der Client hat durch einen erneuten Versuch versucht, den Dienst wiederherzustellen, aber alle Versuche sind fehlgeschlagen. |
20002 | Der Fehler „Dienst nicht verfügbar“ ist aufgrund clientseitiger Timeouts aufgetreten. Der Client hat durch einen erneuten Versuch versucht, den Dienst wiederherzustellen, aber alle Versuche sind fehlgeschlagen. |
20003 | Der Fehler „Dienst nicht verfügbar“ ist aufgrund zugrunde liegender E/A-Fehler im Zusammenhang mit dem Betriebssystem aufgetreten. Siehe die Ausnahmedetails zu dem zugehörigen E/A-Fehler. |
20004 | Der Fehler „Dienst nicht verfügbar“ ist aufgetreten, da die CPU des Clientcomputers überlastet ist. |
20005 | Der Fehler „Dienst nicht verfügbar“ ist aufgetreten, weil der Threadpool des Clientcomputers keine Ressourcen mehr aufweist. Überprüfen Sie, ob asynchrone Aufrufe Ihre Code möglicherweise blockieren. |
20006 | Die Verbindung zwischen dem Dienst und dem Client wurde unterbrochen oder auf unerwartete Weise beendet. |
>= 21001 | Der Fehler „Dienst nicht verfügbar“ ist aufgrund einer vorübergehenden Dienstbedingung aufgetreten. Überprüfen Sie die Bedingungen im Abschnitt oben und vergewissern Sie sich, ob Sie über Wiederholungsrichtlinien verfügen. Wenn das Volumen dieser Fehler im Vergleich zum Erfolg hoch ist, wenden Sie sich an den Azure-Support. |
Die erforderlichen Ports werden blockiert
Vergewissern Sie sich, dass alle erforderlichen Ports aktiviert sind.
Clientseitige vorübergehende Konnektivitätsprobleme
Ausnahmen für nicht verfügbare Dienste können auftreten, wenn vorübergehende Verbindungsprobleme auftreten, die Zeitüberschreitungen verursachen, und können gemäß den Designempfehlungen sicher wiederholt werden.
Befolgen Sie die Schritte zur Problembehandlung für Anforderungstimeouts, um das Problem zu beheben.
Dienstunterbrechung
Überprüfen Sie den Azure-Status, um festzustellen, ob ein Problem vorliegt.
Nächste Schritte
- Diagnostizieren und Behandeln von Problemen bei Verwendung des .NET SDK für Azure Cosmos DB
- Diagnostizieren und beheben Sie Probleme bei der Verwendung des Azure Cosmos DB Java SDK.
- Erfahren Sie mehr über Leistungsrichtlinien für .NET.
- Erfahren Sie mehr über Leistungsrichtlinien für Java.