All Products
Search
Document Center

API Gateway:Konfigurasikan pemeriksaan kesehatan layanan

Last Updated:Sep 10, 2026

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

Catatan

Pemeriksaan kesehatan TCP diaktifkan secara default saat Anda membuat layanan.

  1. Masuk ke Konsol AI Gateway.

  2. Pada panel navigasi sebelah kiri, pilih Instance. Di bilah menu atas, pilih wilayah.

  3. Pada halaman Instance, klik ID instans target.

  4. Pada panel navigasi sebelah kiri, pilih Service, lalu klik tab Services.

  5. 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.

    Catatan

    Untuk 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.

Catatan

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:

  1. 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.

    Catatan

    Gateway tidak mendukung layanan on-premises yang terdaftar pada instans Nacos dan ZooKeeper.

  2. Pastikan gateway dan instans layanan berada dalam VPC yang sama. Jika VPC berbeda dan tidak terhubung, gateway tidak dapat mengakses alamat IP instans.

  3. 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.

  4. 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.