𝗕𝗲𝗻𝘁𝘂𝗸𝗮𝗻 𝗣𝗲𝗻𝗴𝘂𝗺𝗽𝘂𝗹 𝗦𝗲𝗺𝗮𝗸𝗮𝗻 𝗞𝗲𝘀𝗶𝗵𝗮𝘁𝗮𝗻 𝗠𝘂𝗹𝘁𝗶-𝗪𝗶𝗹𝗮𝘆𝗮𝗵

Seorang pengguna di São Paulo terkena nod pinggir (edge node) yang tidak responsif. Mereka tidak menghantar laporan pepijat. Mereka menutup tab tersebut dan menonton sesuatu yang lain.

Pemantau masa aktif (uptime monitor) biasa akan terlepas perkara ini. Kebanyakan pemantau melakukan pencarian (probe) dari satu lokasi sahaja. Dari satu titik itu, semuanya kelihatan hijau.

Halaman status kami dahulunya menunjukkan 100% masa aktif manakala pengguna sebenar mengalami masalah masa tamat (timeout). Satu semakan kesihatan global telah memberikan maklumat yang salah kepada kami.

Inilah cara kami membina sistem yang menyatakan kebenaran.

Masalahnya: Bias Pensampelan Jika pemantau anda berada di satu pusat data, ia hanya melihat satu realiti. Anda mungkin melaporkan status hijau walaupun nod pinggir di Singapura dan São Paulo anda sedang memutuskan sambungan.

Trafik video memburukkan lagi keadaan ini. Kegagalan serantau yang biasa termasuk:

Satu respons "200 OK" hampir tidak memberitahu anda apa-apa.

Tiga Peraturan Kami untuk Kesihatan: Kami melangkaui kod status. Kami mentakrifkan kesihatan menggunakan tiga metrik:

Penyelesaiannya: Pencarian Multi-Wilayah (Multi-Region Probing) Kami berhenti menggunakan satu pemantau besar. Sebaliknya, kami melancarkan binari Go kecil ke instans VPS serantau yang murah.

Setiap prober:

Kami menggunakan SQLite untuk penyimpanan. Ia ringkas dan mengendalikan beban kerja kami dengan sifar overhead. Kami menyimpan sampel mentah dan bukannya data yang telah diagregatkan terlebih dahulu. Ini membolehkan kami menilai semula sejarah atau menyahpepijat (debug) kegagalan tertentu kemudian.

Rahsianya: Kuorum (Quorum) Rangkaian adalah bising (noisy). Satu paket yang tercicir bukanlah satu gangguan (outage).

Kami menggunakan sistem kuorum untuk mengelakkan penggera palsu. Kami hanya mengisytiharkan nod pinggir sebagai "down" apabila beberapa wilayah bersetuju. Jika satu wilayah melihat kegagalan tetapi wilayah lain tidak, kami tidak akan memanggil (page) pasukan. Pilihan reka bentuk ini telah menghapuskan 90% daripada amaran palsu kami.

Pengajaran Utama:

Anda tidak memerlukan platform observabiliti yang berat. Anda memerlukan prob tempatan, data mentah, dan satu peraturan yang enggan panik terhadap hingar.

Sumber: https://dev.to/ahmet_gedik778845/building-a-multi-region-health-check-aggregator-for-video-cdn-edges-2865