針對 Azure Cosmos DB 服務無法使用的例外狀況,進行診斷和疑難排解
適用於:NoSQL
SDK 無法連線至 Azure Cosmos DB。 此情境可能是暫時性或永久的,實際情況視網路狀況而定。
務必確定應用程式設計遵循我們的使用 Azure Cosmos DB SDK 設計彈性應用程式的指南,以確保其正確回應不同的網路狀況。 您的應用程式應該已針對無法使用服務的錯誤進行重試。
評估無法使用服務的錯誤時:
- 相較於作業成功時,目前所影響的作業量為何? 受影響作業是否在服務 SLA 內?
- P99 延遲 / 可用性是否受到影響?
- 失敗會影響所有應用程式執行個體還是只會影響子集? 當問題縮減為執行個體的子集時,通常是與這些執行個體相關的問題。
疑難排解步驟
下列清單包含服務無法使用的例外狀況的已知原因和解決方案。
確認子狀態碼
在某些情況下,「HTTP 503 服務無法使用」錯誤會包含可協助識別原因的子狀態碼。
子狀態碼 | 描述 |
---|---|
20001 | 發生服務無法使用錯誤,因為發生用戶端連線問題 (嘗試連線失敗)。 用戶端嘗試藉由重試進行復原,但所有重試都失敗。 |
20002 | 因為有用戶端逾時,所以發生服務無法使用錯誤。 用戶端嘗試藉由重試進行復原,但所有重試都失敗。 |
20003 | 因為有與作業系統相關的基礎 I/O 錯誤,所以發生服務無法使用錯誤。 如需相關的 I/O 錯誤,請參閱例外狀況詳細資料。 |
20004 | 因為用戶端電腦的 CPU 多載,所以發生服務無法使用錯誤。 |
20005 | 因為耗盡用戶端電腦的執行緒集區,所以發生服務無法使用錯誤。 確認您程式碼中任何潛在的封鎖非同步呼叫。 |
20006 | 服務與用戶端之間的連線以非預期的方式中斷或終止。 |
>= 21001 | 因暫時性服務狀況而發生此服務無法使用錯誤。 確認上一節中的條件,確認您的重試原則是否已就緒。 如果這些錯誤的數量相較於成功數量過高,請連絡 Azure 支援。 |
必要的連接埠遭到封鎖
請確認已啟用所有必要的連接埠。
用戶端暫時性連線問題
當發生造成逾時的暫時性連線問題時,可能會呈現服務無法使用的例外狀況,而且可以遵循設計建議安全地進行重試。
請遵循要求逾時疑難排解步驟來解決此問題。
服務中斷
請查看 Azure 狀態,確認目前是否有問題發生。