
Server boleh menjawab 200 OK pada halaman utama sementara borang tempahan gagal kerana pangkalan data tidak boleh dicapai. Dalam dashboard, aplikasi kelihatan hijau. Bagi pengguna, ia rosak. Health check berguna apabila kita jelas tentang apa yang diukur.
Bezakan semakan bahawa proses masih hidup dengan semakan bahawa perkhidmatan boleh menerima kerja. Pangkalan data, queue atau servis luar mungkin perlu diperiksa mengikut kepentingan dan kos panggilannya. Jangan membuat health check yang begitu berat sehingga ia sendiri menambah beban ketika sistem sudah bermasalah. Dokumentasi health checks ASP.NET Core menerangkan cara mendaftarkan semakan serta endpoint.
Rancang respons bila gagal
Alert yang berbunyi tetapi tiada pemilik atau langkah siasatan tidak banyak membantu. Catat siapa menerima amaran, bagaimana melihat log dan bila perlu mematikan fungsi tertentu atau rollback. Uji alert di persekitaran yang selamat, bukan kali pertama ketika pelanggan sudah melapor.
Uji health check ketika satu dependency pada persekitaran ujian sengaja tidak tersedia. Adakah status berubah dengan cara yang boleh dikesan? Adakah mesejnya membantu tanpa membocorkan butiran sensitif? Pemeriksaan yang sentiasa hijau walau pangkalan data mati hanya memberi rasa selamat yang palsu.
Pertimbangkan juga bagaimana health check digunakan oleh sistem deploy. Jika pemeriksaan terlalu sensitif kepada perkhidmatan luar yang sesekali perlahan, instance yang masih boleh melayan pengguna mungkin dikeluarkan berulang kali. Semakan perlu mencerminkan keupayaan sebenar aplikasi, bukan hanya bilangan dependency yang dapat diping pada satu saat.
Ukuran kesihatan yang baik menyambungkan status teknikal kepada pengalaman pengguna. “Proses hidup” ialah permulaan, bukan keseluruhan cerita tentang sama ada aplikasi boleh digunakan.