Anda dapat mengonfigurasi pemeriksaan kesehatan untuk suatu layanan guna memantau status layanan backend-nya. Jika node instance layanan menjadi abnormal, Anda dapat menariknya offline atau mengisolasi node tersebut. Praktik ini memastikan ketersediaan antarmuka yang dirutekan ke layanan tersebut. Anda juga dapat mengonfigurasi ambang batas panik untuk menjaga kemampuan dasar sistem dalam situasi ekstrem. Topik ini menjelaskan fitur pemeriksaan kesehatan layanan dan cara mengonfigurasinya.
Skenario
Pemeriksaan Kesehatan Aktif: Fitur ini secara otomatis menarik node instance abnormal dari jaringan. Pemeriksaan kesehatan aktif mengirim permintaan seperti koneksi TCP atau permintaan HTTP GET untuk memeriksa apakah node layanan masih hidup dan menentukan ketersediaannya. Node akan dibawa kembali online setelah pulih. Fitur ini meningkatkan ketersediaan antarmuka yang dirutekan ke layanan ketika layanan backend diterapkan dengan beberapa replika.
Pemeriksaan Kesehatan Pasif: Fitur ini menganalisis kesehatan node secara dinamis berdasarkan tingkat kegagalan permintaan lalu lintas aktual. Jika suatu node berperilaku abnormal, seperti memiliki tingkat kegagalan tinggi, node tersebut sementara diisolasi. Node akan diaktifkan kembali setelah pulih.
Ambang Batas Panik: Fitur ini mencegah penyebaran kesalahan di seluruh kluster ketika beban sistem meningkat atau beberapa node gagal. Ini membantu menghindari kegagalan sistemik layanan.
Prosedur
Pemeriksaan kesehatan TCP diaktifkan secara default saat Anda membuat layanan.
Masuk ke Konsol Gateway AI.
Di panel navigasi di sebelah kiri, klik . Di bilah navigasi di bagian atas, pilih wilayah.
Di halaman Instance, klik ID instance gateway yang ingin Anda kelola.
Di panel navigasi di sebelah kiri, klik Service. Lalu, klik tab Services.
Di kolom Tindakan dari layanan target, klik Konfigurasi Pemeriksaan Kesehatan. Untuk jenis pemeriksaan kesehatan terkait, pilih Enable dan lengkapi konfigurasinya.
Konfigurasikan pemeriksaan kesehatan aktif
Di panel Konfigurasikan Pemeriksaan Kesehatan, nyalakan saklar Aktifkan Pemeriksaan Kesehatan Aktif, konfigurasikan parameter, lalu klik OK. Tabel berikut menjelaskan item konfigurasi.
Item Konfigurasi
Nilai Contoh
Deskripsi
Protokol Pemeriksaan Kesehatan
HTTP
Pemeriksaan kesehatan TCP mengirim pesan jabat tangan SYN untuk mendeteksi apakah port server masih hidup.
Pemeriksaan kesehatan HTTP mengirim permintaan yang mensimulasikan akses browser untuk memeriksa apakah aplikasi server sehat.
Jalur Pemeriksaan Kesehatan
/
URI file halaman untuk pemeriksaan kesehatan. Gunakan halaman statis untuk pemeriksaan ini.
Kode Status Normal
http_2xx
Kode status HTTP yang menunjukkan pemeriksaan kesehatan berhasil.
Batas Waktu Respons Pemeriksaan Kesehatan
2
Batas waktu maksimum untuk setiap respons pemeriksaan kesehatan. Timeout menunjukkan status tidak sehat.
Interval Pemeriksaan Kesehatan
2
Interval waktu antara dua pemeriksaan kesehatan berturut-turut.
Ambang Batas Sehat
2
Jumlah pemeriksaan kesehatan berhasil berturut-turut yang diperlukan agar instance Elastic Compute Service (ECS) yang tidak sehat dianggap sehat.
Ambang Tidak Sehat
2
Jumlah pemeriksaan kesehatan gagal berturut-turut yang diperlukan agar instance ECS yang sehat dianggap tidak sehat.
Konfigurasikan pemeriksaan kesehatan pasif
Di panel Konfigurasikan Pemeriksaan Kesehatan, nyalakan saklar Aktifkan Pemeriksaan Kesehatan Pasif, konfigurasikan parameter, lalu klik OK. Tabel berikut menjelaskan item konfigurasi.
Item Konfigurasi
Nilai Contoh
Deskripsi
Ambang Batas Tingkat Kegagalan
80
Ketika persentase permintaan gagal untuk suatu node mencapai ambang batas ini, sistem memicu mekanisme ejection untuk node tersebut.
Interval Deteksi
30
Sistem menghitung tingkat kegagalan permintaan suatu node pada interval tertentu, seperti setiap 30 detik.
Durasi Isolasi Awal
30
Durasi awal, seperti 30 detik, untuk mana suatu node diisolasi setelah dieject. Durasi isolasi dihitung menggunakan rumus: k × base_ejection_time. Nilai awal k adalah 1. Setiap eject memperpanjang durasi isolasi dengan menambah k. Jika pemeriksaan berturut-turut berhasil, durasi isolasi secara bertahap dipersingkat dengan mengurangi k.
CatatanUntuk menggunakan fitur pemeriksaan kesehatan pasif, Anda harus meningkatkan mesin ke versi 2.1.10 atau lebih baru.
Saat Anda memperbarui konfigurasi pemeriksaan kesehatan pasif, status pemeriksaan kesehatan pasif diatur ulang, dan semua node yang diisolasi diaktifkan kembali.
Ambang batas panik
Ambang batas panik mencegah penyebaran kesalahan di seluruh kluster ketika beban sistem meningkat atau beberapa node gagal. Ini membantu menghindari kegagalan sistemik layanan. Mekanisme ini menyeimbangkan ketersediaan dan kebenaran untuk memastikan kemampuan dasar layanan dalam situasi ekstrem.
Perilakunya adalah sebagai berikut:
Jika persentase node sehat di kluster lebih tinggi dari ambang batas panik, mekanisme pemeriksaan kesehatan bekerja seperti yang diharapkan. Permintaan hanya dirutekan ke node yang ditandai sebagai sehat. Node gagal atau dieject tidak lagi menerima lalu lintas.
Jika persentase node sehat di kluster kurang dari atau sama dengan ambang batas panik, sistem memasuki "mode panik". Mekanisme pemeriksaan kesehatan sementara dilewati, dan permintaan didistribusikan secara merata ke semua node, termasuk yang ditandai sebagai tidak sehat atau dieject.
Konfigurasi ini dirancang untuk mencegah sedikit node sehat yang tersisa kelebihan beban dengan semua lalu lintas ketika banyak node menjadi abnormal, yang membantu menghindari kegagalan berantai. Dengan melanjutkan panggilan ke beberapa node "tidak sehat", toleransi kesalahan dan ketersediaan keseluruhan layanan ditingkatkan.
Untuk memaksimalkan ketersediaan layanan dalam skenario ekstrem, ambang batas panik default disetel ke 1%. Ketika persentase node sehat turun ke ambang batas ini atau di bawahnya, sistem beralih ke mode panik dan meneruskan permintaan ke semua node.
Anda dapat menyesuaikan ambang batas ini berdasarkan skenario bisnis dan kemampuan pemulihan bencana Anda. Ini membantu mencapai keseimbangan terbaik antara stabilitas dan kebenaran layanan.
Memecahkan masalah pengecualian pemeriksaan kesehatan
Pengecualian pemeriksaan kesehatan umum
Ikuti langkah-langkah berikut untuk memecahkan masalah:
Jika pemeriksaan kesehatan TCP gagal, itu berarti koneksi tidak dapat dibuat dengan node yang sesuai. Konfirmasikan hal berikut:
Apakah node tersebut ada.
Apakah jumlah koneksi bersamaan terlalu tinggi untuk node tangani.
Jika pemeriksaan kesehatan HTTP gagal, beralihlah ke pemeriksaan kesehatan TCP dan konfirmasikan apakah koneksi dapat dibuat. Jika pemeriksaan kesehatan TCP berhasil, verifikasi bahwa jalur pemeriksaan kesehatan yang dikonfigurasikan benar. Anda dapat menggunakan alat seperti curl atau Postman untuk menguji akses.
Pengecualian pemeriksaan kesehatan saat menambahkan layanan untuk pertama kali
Ikuti langkah-langkah berikut untuk memecahkan masalah:
Konfirmasikan bahwa VPC gateway yang dibeli sama dengan VPC instance layanan. Atau, konfirmasikan bahwa lingkungan layanan terhubung ke VPC gateway melalui Cloud Enterprise Network (CEN) atau jalur sewa. Jika VPC berbeda dan tidak terhubung, gateway tidak dapat mengakses alamat IP instance.
CatatanGateway tidak mendukung layanan lokal yang terdaftar dengan instance Nacos dan ZooKeeper.
Konfirmasikan bahwa gateway dan instance layanan berada di VPC yang sama. Jika VPC berbeda dan tidak terhubung, gateway tidak dapat mengakses alamat IP instance.
Konfirmasikan bahwa otorisasi grup keamanan telah diberikan. Jika sumber layanan adalah layanan ACK, berikan otorisasi ke grup keamanan kluster kontainer. Untuk informasi lebih lanjut, lihat Atur Aturan Grup Keamanan.
Jika alamat IP instance tidak sehat adalah alamat IP Internet, konfirmasikan apakah Gateway NAT Internet diaktifkan untuk VPC tempat gateway berada.