Anda dapat mengonfigurasi pemeriksaan kesehatan untuk suatu layanan guna memantau status layanan backend-nya. Jika node instans layanan menjadi tidak normal, Anda dapat mengambilnya offline atau mengisolasi node tersebut. Praktik ini menjamin ketersediaan antarmuka yang diarahkan ke layanan tersebut. Anda juga dapat mengonfigurasi ambang batas panic threshold untuk mempertahankan kemampuan dasar layanan sistem dalam situasi ekstrem. Topik ini menjelaskan fitur pemeriksaan kesehatan layanan dan cara mengonfigurasikannya.
Skenario
Active health checks: Fitur ini secara otomatis mengambil node instans abnormal offline. Active health checks mengirim permintaan, seperti koneksi TCP atau permintaan HTTP GET, untuk memeriksa apakah node layanan masih aktif dan menentukan ketersediaannya. Node tersebut secara otomatis dikembalikan online setelah pulih. Fitur ini meningkatkan ketersediaan antarmuka yang diarahkan ke layanan ketika layanan backend dideploy dengan beberapa replika.
Passive health checks: Fitur ini menganalisis kesehatan node secara dinamis berdasarkan tingkat kegagalan actual traffic requests. Jika suatu node berperilaku tidak normal—misalnya, memiliki tingkat kegagalan tinggi—node tersebut sementara diisolasi dan akan diaktifkan kembali secara otomatis setelah pulih.
Panic threshold: Fitur ini mencegah penyebaran kesalahan (fault propagation) ke seluruh kluster saat beban sistem meningkat atau beberapa node gagal, sehingga membantu menghindari kegagalan sistemik pada layanan.
Prosedur
Pemeriksaan kesehatan TCP diaktifkan secara default saat Anda membuat layanan.
Masuk ke Konsol AI Gateway.
Pada panel navigasi sebelah kiri, pilih Instance. Di bilah menu atas, pilih wilayah.
Pada halaman Instance, klik ID instans target.
Pada panel navigasi sebelah kiri, pilih Service, lalu klik tab Services.
Pada kolom Actions untuk layanan target, klik Health Check Configuration. Pilih jenis pemeriksaan kesehatan, klik Enable, lalu konfigurasikan parameter-parameter tersebut.
Mengonfigurasi pemeriksaan kesehatan aktif
Pada panel Configure Health Check, aktifkan sakelar Enable Active Health Check, konfigurasikan parameter, lalu klik OK. Tabel berikut menjelaskan item konfigurasi.
Configuration Item
Example Value
Description
Health Check Protocol
HTTP
Pemeriksaan kesehatan TCP mengirim pesan jabat tangan SYN untuk mendeteksi apakah port server aktif.
Pemeriksaan kesehatan HTTP mengirim permintaan yang mensimulasikan akses browser untuk memeriksa apakah aplikasi server dalam kondisi sehat.
Health Check Path
/
URI file halaman untuk pemeriksaan kesehatan. Gunakan halaman statis untuk pemeriksaan ini.
Normal Status Code
http_2xx
Kode status HTTP yang menunjukkan pemeriksaan kesehatan berhasil.
Health Check Response Timeout Period
2
Batas waktu maksimum untuk setiap respons pemeriksaan kesehatan. Timeout menandakan status tidak sehat.
Health Check Interval
2
Interval waktu antara dua pemeriksaan kesehatan berturut-turut.
Healthy Threshold
2
Jumlah pemeriksaan kesehatan berturut-turut yang berhasil yang diperlukan agar instans Elastic Compute Service (ECS) yang tidak sehat dianggap sehat.
Unhealthy Threshold
2
Jumlah pemeriksaan kesehatan berturut-turut yang gagal yang diperlukan agar instans ECS yang sehat dianggap tidak sehat.
Konfigurasikan passive health checks
Pada panel Configure Health Check, aktifkan sakelar Enable Passive Health Check, konfigurasikan parameter, lalu klik OK. Tabel berikut menjelaskan item konfigurasi.
Configuration Item
Example Value
Description
Failure Rate Threshold
80
Saat persentase permintaan gagal untuk suatu node mencapai ambang batas ini, sistem memicu mekanisme ejection untuk node tersebut.
Detection Interval
30
Sistem menghitung tingkat kegagalan permintaan suatu node pada interval yang ditentukan, misalnya setiap 30 detik.
Initial Isolation Duration
30
Durasi awal, misalnya 30 detik, selama node diisolasi setelah dieject. Durasi isolasi dihitung menggunakan rumus: k × base_ejection_time. Nilai awal k adalah 1. Setiap ejection memperpanjang durasi isolasi dengan menambah nilai k. Jika pemeriksaan berturut-turut berhasil, durasi isolasi secara bertahap dipersingkat dengan mengurangi nilai k.
CatatanUntuk menggunakan fitur passive health check, Anda harus melakukan upgrade engine ke versi 2.1.10 atau yang lebih baru.
Saat Anda memperbarui konfigurasi passive health check, status passive health check di-reset, dan semua node yang diisolasi diaktifkan kembali.
Panic threshold
Panic threshold mencegah penyebaran kesalahan ke seluruh kluster saat beban sistem meningkat atau beberapa node gagal, sehingga membantu menghindari kegagalan sistemik pada layanan. Mekanisme ini menyeimbangkan ketersediaan dan keakuratan untuk menjamin kemampuan dasar layanan dalam situasi ekstrem.
Perilakunya sebagai berikut:
Jika persentase node sehat dalam kluster lebih tinggi dari panic threshold, mekanisme pemeriksaan kesehatan bekerja sebagaimana mestinya. Permintaan hanya diarahkan ke node yang ditandai sebagai sehat. Node yang gagal atau dieject tidak lagi menerima traffic.
Jika persentase node sehat dalam kluster kurang dari atau sama dengan panic threshold, sistem memasuki "panic mode". Mekanisme pemeriksaan kesehatan sementara dilewati, dan permintaan diteruskan secara merata ke semua node, termasuk yang ditandai sebagai tidak sehat atau dieject.
Konfigurasi ini dirancang untuk mencegah beberapa node sehat yang tersisa menjadi kelebihan beban karena menerima seluruh traffic saat banyak node menjadi tidak normal, sehingga membantu menghindari kegagalan berantai. Dengan melanjutkan panggilan ke beberapa node "tidak sehat", toleransi kesalahan dan ketersediaan layanan secara keseluruhan ditingkatkan.
Untuk memaksimalkan ketersediaan layanan dalam skenario ekstrem, panic threshold default diatur ke 1%. Saat persentase node sehat turun ke ambang batas ini atau di bawahnya, sistem beralih ke panic mode dan meneruskan permintaan ke semua node.
Anda dapat menyesuaikan ambang batas ini berdasarkan skenario bisnis dan kemampuan disaster recovery Anda. Hal ini membantu mencapai keseimbangan terbaik antara stabilitas dan keakuratan layanan.
Pemecahan masalah pengecualian pemeriksaan kesehatan
Pengecualian pemeriksaan kesehatan umum
Lakukan langkah-langkah berikut untuk pemecahan masalah:
Jika pemeriksaan kesehatan TCP gagal, artinya koneksi tidak dapat dibuat dengan node yang bersangkutan. Pastikan hal berikut:
Apakah node tersebut ada.
Apakah jumlah koneksi bersamaan terlalu tinggi sehingga node tidak mampu menanganinya.
Jika pemeriksaan kesehatan HTTP gagal, alihkan ke pemeriksaan kesehatan TCP dan pastikan apakah koneksi dapat dibuat. Jika pemeriksaan kesehatan TCP berhasil, verifikasi bahwa jalur pemeriksaan kesehatan yang dikonfigurasi sudah benar. Anda dapat menggunakan alat seperti curl atau Postman untuk menguji akses.
Pengecualian pemeriksaan kesehatan saat menambahkan layanan untuk pertama kali
Lakukan langkah-langkah berikut untuk pemecahan masalah:
Pastikan VPC gateway yang dibeli sama dengan VPC instans layanan. Atau, pastikan lingkungan layanan terhubung ke VPC gateway melalui Cloud Enterprise Network (CEN) atau leased line. Jika VPC berbeda dan tidak terhubung, gateway tidak dapat mengakses alamat IP instans.
CatatanGateway tidak mendukung layanan on-premises yang terdaftar pada instans Nacos dan ZooKeeper.
Pastikan gateway dan instans layanan berada dalam VPC yang sama. Jika VPC berbeda dan tidak terhubung, gateway tidak dapat mengakses alamat IP instans.
Pastikan otorisasi security group telah diberikan. Jika sumber layanan adalah layanan ACK, berikan otorisasi ke security group kluster kontainer. Untuk informasi selengkapnya, lihat Set security group rules.
AI Gateway dideploy di VPC dan secara default tidak memiliki kemampuan egress Internet. Jika layanan backend menggunakan public endpoint, seperti Alibaba Cloud Model Studio (DashScope), aktifkan akses Internet untuk gateway tersebut. Buat Internet NAT gateway di VPC tempat gateway berada, buat entri SNAT tingkat VPC, dan asosiasikan Internet NAT gateway dengan elastic IP address (EIP).
Cloud Enterprise Network (CEN) digunakan untuk konektivitas antar-VPC dan tidak dapat menggantikan egress Internet. Layanan API publik, seperti Alibaba Cloud Model Studio, tidak dideploy di VPC dan tidak dapat diakses melalui CEN.