全部产品
Search
文档中心

API Gateway:Konfigurasi pemeriksaan kesehatan layanan

更新时间:Dec 05, 2025

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 untuk memastikan ketersediaan layanan. Anda juga dapat mengonfigurasi ambang batas panic threshold guna mempertahankan fungsionalitas dasar layanan dalam situasi ekstrem. Topik ini menjelaskan fitur pemeriksaan kesehatan layanan dan menyediakan langkah-langkah konfigurasinya.

Skenario

Active health check: Secara otomatis mengambil node instans yang tidak normal offline dan memulihkannya setelah kondisi normal kembali. Sistem secara aktif mengirim permintaan, seperti koneksi TCP atau permintaan HTTP GET, untuk memeriksa ketersediaan node layanan. Fitur ini meningkatkan ketersediaan layanan ketika layanan backend memiliki beberapa replika.

Passive health check: Menganalisis kesehatan node berdasarkan laju kegagalan permintaan traffic aktual. Jika suatu node memiliki laju kegagalan tinggi, sistem sementara mengisolasi node tersebut. Node tersebut dipulihkan secara otomatis setelah kondisinya kembali normal.

Panic threshold: Mencegah penyebaran kesalahan (fault propagation) ke seluruh kluster saat beban sistem meningkat atau beberapa node gagal, sehingga menghindari kegagalan layanan secara menyeluruh.

Prosedur

Catatan

Pemeriksaan kesehatan TCP diaktifkan secara default saat Anda membuat layanan.

  1. Masuk ke Konsol API Gateway.

  2. Di panel navigasi sebelah kiri, klik Cloud-native API Gateway > Instance. Di bilah navigasi atas, pilih wilayah.

  3. Pada halaman Instance, klik ID instans target.

  4. Di panel navigasi sebelah kiri, klik Service. Lalu, klik tab Services.

  5. Temukan layanan tersebut dan klik Health Check Settings pada kolom Actions. Aktifkan sakelar pemeriksaan kesehatan yang diinginkan dan atur parameter sesuai kebutuhan.

    Konfigurasi active health check

    Pada panel Configure Health Check, aktifkan sakelar Active Health Check, konfigurasi parameter, lalu klik OK. Tabel berikut menjelaskan parameter-parameter tersebut.

    Item Konfigurasi

    Nilai Contoh

    Deskripsi

    Health Check Protocol

    HTTP

    • TCP: Pemeriksaan kesehatan TCP mengirim pesan jabat tangan SYN untuk mendeteksi apakah port server aktif.

    • HTTP: 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. Periksa halaman statis.

    Normal Status Codes

    http_2xx

    Kode status HTTP yang menunjukkan pemeriksaan kesehatan berhasil.

    Response Timeout Period

    2

    Batas waktu maksimum untuk respons pemeriksaan kesehatan. Timeout dianggap sebagai kegagalan.

    Health Check Interval

    2

    Interval antara dua pemeriksaan kesehatan berturut-turut. Satuan: detik.

    Healthy Threshold in Health Check

    2

    Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan agar server berpindah status dari Failed ke Normal.

    Unhealthy Threshold in Health Check

    2

    Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan agar server berpindah status dari Normal ke Failed.

    Konfigurasi passive health check

    Pada panel Configure Health Check, aktifkan sakelar Passive health check, konfigurasi parameter, lalu klik OK. Tabel berikut menjelaskan parameter-parameter tersebut.

    Item Konfigurasi

    Nilai Contoh

    Deskripsi

    Failure Rate Threshold

    80

    Saat persentase permintaan gagal untuk suatu node mencapai ambang batas ini, sistem memicu mekanisme deteksi pencilan untuk node tersebut. Satuan: %.

    Detection interval

    30

    Sistem menghitung laju kegagalan permintaan suatu node pada interval tertentu, misalnya setiap 30 detik. Satuan: 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 kali dieject, durasi isolasi diperpanjang (k ditambah 1). Jika node lulus pemeriksaan kesehatan berturut-turut, durasi isolasi secara bertahap dipersingkat (k dikurangi 1). Satuan: detik.

    Catatan

    Untuk menggunakan fitur passive health check, Anda harus melakukan upgrade Mesin Pemeriksaan Paket Mendalam (DPI) ke versi 2.1.9 atau yang lebih baru.

    Saat Anda memperbarui konfigurasi passive health check, status passive health check diatur ulang, dan semua node yang diisolasi dipulihkan.

Panic threshold

Panic threshold mencegah penyebaran kesalahan ke seluruh kluster saat beban sistem meningkat atau beberapa node gagal, sehingga menghindari kegagalan layanan secara menyeluruh. Mekanisme ini menyeimbangkan ketersediaan dan keakuratan untuk memastikan fungsionalitas dasar layanan dalam situasi ekstrem.

Perilaku mekanisme ini sebagai berikut:

  • Saat persentase node sehat dalam kluster lebih tinggi daripada panic threshold, mekanisme pemeriksaan kesehatan bekerja seperti yang diharapkan. Permintaan hanya diarahkan ke node yang ditandai sebagai sehat. Node yang gagal atau dieject tidak lagi menerima traffic.

  • Saat 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 kegagalan berantai yang dapat terjadi ketika beberapa node sehat yang tersisa menjadi kelebihan beban karena menangani seluruh traffic setelah banyak node menjadi tidak normal. 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 diatur ke 1% secara default. Saat persentase node sehat turun hingga 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 guna mencapai keseimbangan terbaik antara stabilitas dan keakuratan layanan.

Pemecahan masalah kegagalan pemeriksaan kesehatan

Kasus umum pemeriksaan kesehatan tidak normal

Lakukan langkah-langkah berikut:

  • Jika pemeriksaan kesehatan TCP gagal, koneksi ke node yang bersangkutan tidak dapat dibuat. Verifikasi hal berikut:

    • Periksa apakah node tersebut ada.

    • Periksa apakah jumlah koneksi bersamaan yang terlalu banyak telah dibuat.

  • Jika pemeriksaan kesehatan HTTP gagal, alihkan ke pemeriksaan kesehatan TCP dan verifikasi bahwa koneksi dapat dibuat. Jika pemeriksaan kesehatan TCP normal, pastikan jalur pemeriksaan kesehatan yang dikonfigurasi benar. Anda dapat menguji akses menggunakan alat seperti cURL atau Postman.

Pemecahan masalah kegagalan pemeriksaan kesehatan saat pertama kali menambahkan layanan

Lakukan langkah-langkah berikut:

  1. Periksa apakah virtual private cloud (VPC) yang Anda beli sama dengan VPC tempat instans Cloud-native API Gateway dideploy, atau periksa apakah lingkungan tempat layanan berada terhubung ke VPC tempat instans Cloud-native API Gateway dideploy melalui Cloud Enterprise Network (CEN) atau koneksi fisik. Jika VPC yang Anda beli berbeda dari VPC tempat instans Cloud-native API Gateway dideploy dan kedua VPC tersebut tidak saling terhubung, alamat IP instans Cloud-native API Gateway tidak dapat diakses.

    Catatan

    Instans Cloud-native API Gateway tidak mendukung layanan on-premises yang didaftarkan ke instans Nacos dan ZooKeeper.

  2. Periksa apakah VPC yang Anda beli sama dengan VPC tempat instans Cloud-native API Gateway dideploy. Jika VPC yang Anda beli berbeda dari VPC tempat instans Cloud-native API Gateway dideploy dan kedua VPC tersebut tidak saling terhubung, alamat IP instans Cloud-native API Gateway tidak dapat diakses.

  3. Verifikasi bahwa otorisasi grup keamanan telah dikonfigurasi. Jika sumber layanan adalah layanan ACK, Anda harus mengotorisasi grup keamanan kluster kontainer. Untuk informasi selengkapnya, lihat Konfigurasi aturan grup keamanan.

  4. Jika alamat IP instans yang tidak sehat merupakan alamat IP Internet, verifikasi bahwa gateway NAT Internet telah diaktifkan untuk VPC tempat gerbang tersebut berada.