Mendiagnosis dan memecahkan masalah pengecualian layanan tak tersedia Azure Cosmos DB
BERLAKU UNTUK: NoSQL
SDK tidak dapat terhubung ke Azure Cosmos DB. Skenario ini dapat bersifat sementara atau permanen tergantung pada kondisi jaringan.
Penting untuk memastikan desain aplikasi mengikuti panduan kami untuk merancang aplikasi tangguh dengan Azure Cosmos DB SDK untuk memastikannya bereaksi dengan benar terhadap kondisi jaringan yang berbeda. Aplikasi Anda harus memiliki fitur percobaan ulang saat kesalahan layanan tidak tersedia.
Saat mengevaluasi kasus untuk kesalahan layanan tidak tersedia:
- Apa efek yang diukur dalam volume operasi yang terpengaruh dibandingkan dengan operasi yang berhasil? Apakah itu ada dalam SLA layanan?
- Apakah latensi/ketersediaan P99 terpengaruh?
- Apakah kegagalan memengaruhi semua instans aplikasi Anda atau hanya sebagian? Ketika masalah direduksi menjadi subset instans, biasanya masalah itu terkait dengan instans tersebut.
Langkah-langkah pemecahan masalah
Daftar berikut ini berisi penyebab dan solusi yang diketahui untuk pengecualian layanan tak tersedia.
Memverifikasi kode substatus
Dalam kondisi tertentu, kesalahan Http 503 Service Unavailable menyertakan kode substatus yang membantu mengidentifikasi penyebabnya.
Kode Substatus | Deskripsi |
---|---|
20001 | Kesalahan layanan tidak tersedia terjadi karena ada masalah konektivitas sisi klien (kegagalan saat mencoba menyambungkan). Klien mencoba memulihkan dengan mencoba kembali tetapi semua percobaan ulang gagal. |
20002 | Kesalahan layanan tidak tersedia terjadi karena ada batas waktu sisi klien. Klien mencoba memulihkan dengan mencoba kembali tetapi semua percobaan ulang gagal. |
20003 | Kesalahan layanan tidak tersedia terjadi karena ada kesalahan I/O yang mendasari yang terkait dengan sistem operasi. Lihat detail pengecualian untuk kesalahan I/O terkait. |
20004 | Kesalahan layanan tidak tersedia terjadi karena CPU komputer klien kelebihan beban. |
20005 | Kesalahan layanan tidak tersedia terjadi karena kumpulan utas komputer klien kelaparan. Verifikasi potensi pemblokiran panggilan asinkron dalam kode Anda. |
20006 | Koneksi antara layanan dan klien terganggu atau dihentikan secara tidak terduga. |
>= 21001 | Kesalahan layanan tidak tersedia ini terjadi karena kondisi layanan sementara. Verifikasi kondisi di bagian di atas, konfirmasikan apakah Anda telah mencoba kembali kebijakan. Jika volume kesalahan ini lebih tinggi dibandingkan dengan keberhasilannya, hubungi Dukungan Azure. |
Port yang diperlukan sedang diblokir
Pastikan bahwa semua port yang diperlukan telah aktif.
Masalah konektivitas sementara di pihak klien
Pengecualian layanan tidak tersedia dapat muncul ketika ada masalah konektivitas sementara yang menyebabkan waktu habis dan dapat dicoba kembali dengan aman mengikuti rekomendasi desain.
Ikuti langkah-langkah pemecahan masalah timeout untuk mengatasinya.
Pemadaman layanan
Periksa status Azure untuk melihat apakah ada masalah yang sedang berlangsung.
Langkah berikutnya
- Mendiagnosis dan memecahkan masalah saat Anda menggunakan SDK .NET Azure Cosmos DB.
- Mendiagnosis dan memecahkan masalah saat Anda menggunakan SDK Java Azure Cosmos DB.
- Pelajari panduan performa untuk .NET.
- Pelajari panduan performa untuk Java.