Konfigurasikan pemeriksaan kesehatan untuk suatu layanan guna memantau status node backend. Gerbang secara otomatis mengambil node yang tidak sehat offline atau mengisolasi node tersebut untuk memastikan ketersediaan API. Ambang batas panic mempertahankan kemampuan layanan esensial dalam situasi ekstrem.
Kasus penggunaan
Active health check: Gerbang melakukan probing terhadap node layanan dengan mengirimkan permintaan TCP atau HTTP. Node yang tidak sehat secara otomatis diambil offline dan dipulihkan setelah kembali normal. Fitur ini meningkatkan ketersediaan API untuk layanan dengan beberapa replika.
Passive health check: Gerbang memantau lalu lintas langsung untuk mendeteksi node yang tidak sehat. Node dengan tingkat kegagalan tinggi sementara diisolasi dan secara otomatis dipulihkan setelah kembali normal.
Panic threshold: Mencegah kegagalan lokal menyebar menjadi gangguan seluruh klaster dengan mengarahkan lalu lintas ke semua node ketika jumlah node sehat yang tersisa terlalu sedikit.
Prosedur
Pemeriksaan kesehatan TCP diaktifkan secara default saat Anda membuat layanan.
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Pada halaman Instance, klik ID instans target.
Di panel navigasi sebelah kiri, klik Service. Lalu, klik tab Services.
-
Klik Health Check Configuration di kolom Actions untuk layanan target. Berdasarkan jenis pemeriksaan kesehatan, pilih Enable, lalu lengkapi konfigurasi.
Active health check
Di panel Configure Health Check, aktifkan Active Health Check, konfigurasikan parameter, lalu klik OK.
Parameter
Contoh
Deskripsi
Health check protocol
HTTP
-
TCP: Mengirim paket SYN untuk menguji apakah port server merespons.
-
HTTP: Mengirim permintaan HTTP yang mensimulasikan browser untuk memeriksa apakah aplikasi server dalam kondisi sehat.
Health check path
/
Jalur URI untuk permintaan pemeriksaan kesehatan. Gunakan halaman statis untuk hasil terbaik.
Normal status codes
http_2xx
Kode status HTTP yang menunjukkan pemeriksaan kesehatan berhasil.
Response timeout
2
Waktu tunggu maksimum untuk respons pemeriksaan kesehatan. Jika tidak ada respons yang diterima, probe gagal. Satuan: detik.
Health check interval
2
Interval antara probe pemeriksaan kesehatan berturut-turut. Satuan: detik.
Healthy threshold
2
Jumlah pemeriksaan berhasil berturut-turut yang diperlukan untuk menandai node yang tidak sehat sebagai sehat.
Unhealthy threshold
2
Jumlah pemeriksaan gagal berturut-turut yang diperlukan untuk menandai node yang sehat sebagai tidak sehat.
Passive health check
Di panel Configure Health Check, aktifkan Passive Health Check, konfigurasikan parameter, lalu klik OK.
Parameter
Contoh
Deskripsi
Failure rate threshold
80
Jika tingkat kegagalan permintaan sebuah node mencapai ambang batas ini, sistem akan mengeluarkannya dari pool layanan. Satuan: %.
Detection interval
30
Interval waktu yang digunakan sistem untuk menghitung tingkat kegagalan setiap node. Satuan: detik.
Initial isolation duration
30
Durasi isolasi dasar setelah ejection. Durasi aktual =
k * base_ejection_time, di manakdimulai dari 1, bertambah pada setiap ejection, dan berkurang setelah pemeriksaan berhasil berturut-turut. Satuan: detik.CatatanPassive health check memerlukan versi mesin gerbang 2.1.9 atau lebih baru.
Memperbarui konfigurasi passive health check akan mengatur ulang status pemeriksaan kesehatan dan mengembalikan semua node yang diisolasi ke dalam layanan.
-
Panic threshold
Ambang batas panic menyeimbangkan ketersediaan dan keakuratan untuk mempertahankan kemampuan layanan esensial ketika beban sistem tinggi atau beberapa node gagal.
Cara kerjanya:
-
Jika persentase node sehat lebih tinggi daripada ambang batas panic, pemeriksaan kesehatan bekerja secara normal. Hanya node sehat yang menerima lalu lintas.
-
Jika persentase node sehat kurang dari atau sama dengan ambang batas panic, sistem memasuki mode panic. Pemeriksaan kesehatan dilewati, dan permintaan didistribusikan merata ke semua node, termasuk yang tidak sehat atau dieject.
Mengarahkan lalu lintas ke node yang tidak sehat meningkatkan toleransi kesalahan dan ketersediaan secara keseluruhan.
Ambang batas panic default adalah 1%. Ketika jumlah node sehat turun hingga persentase ini atau di bawahnya, sistem memasuki mode panic dan mengarahkan permintaan ke semua node.
Sesuaikan ambang batas ini berdasarkan kebutuhan bisnis dan kemampuan disaster recovery Anda.
Atasi kegagalan pemeriksaan kesehatan
Kegagalan pemeriksaan kesehatan umum
Lakukan langkah-langkah berikut:
-
Pemeriksaan kesehatan TCP yang gagal berarti koneksi ke node tidak dapat dibuat. Verifikasi:
-
Node tersebut ada.
-
Koneksi bersamaan tidak melebihi kapasitas node.
-
-
Jika pemeriksaan kesehatan HTTP gagal, alihkan ke TCP untuk memverifikasi konektivitas. Jika TCP berhasil, verifikasi jalur pemeriksaan kesehatan. Gunakan cURL atau Postman untuk menguji titik akhir.
Kegagalan pemeriksaan kesehatan untuk layanan baru
Lakukan langkah-langkah berikut:
-
Pastikan gerbang dan instans layanan berada dalam VPC yang sama. Jika berada di VPC berbeda, hubungkan melalui Cloud Enterprise Network (CEN) atau koneksi khusus.
CatatanGerbang tidak mendukung layanan on-premises yang terdaftar melalui Nacos atau ZooKeeper.
-
Verifikasi bahwa VPC gerbang dan instans layanan sama atau terhubung.
-
Verifikasi bahwa otorisasi grup keamanan telah dikonfigurasi. Untuk layanan ACK, otorisasi grup keamanan kluster kontainer seperti dijelaskan dalam Konfigurasi aturan grup keamanan.
-
Jika instans yang tidak sehat menggunakan Alamat IP publik, verifikasi bahwa gateway NAT publik diaktifkan untuk VPC gerbang.