English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

tamu
1 / ?
kembali ke pelajaran

Simpel Bottleneck Diidentifikasi Sebelum Lalu Lintas Tiba

Sentralitas Antara

Untuk setiap pasangan simpel dalam sebuah graf, terdapat jalur terpendek di antara keduanya. Sentralitas antara dari simpel N = fraksi dari semua jalur terpendek yang melewati N.

Simpel dengan sentralitas antara yang tinggi berada di jalur antara banyak pasangan simpel lain. Jika ia melambat, banyak aliran melambat. Jika ia gagal, banyak aliran terputus.

Pembacaan arsitektural: simpel dengan sentralitas antara tinggi adalah simpel yang harus mendapat perhatian ekstra dalam setiap tinjauan arsitektur. Mereka adalah bottleneck, SPOF, & komponen kritis kapasitas dalam satu kesatuan. Mereka cenderung menjadi:

- Penyedia DNS (di antara setiap klien & setiap layanan)

- Proksi ingress (di antara setiap klien & setiap backend)

- Primer database (di antara setiap backend & setiap bacaan)

- Layanan autentikasi (di antara setiap pengguna & setiap tindakan yang diotorisasi)

Deteksi tanpa pengukuran: topologi graf saja mengidentifikasi node dengan betweenness tinggi. Anda tidak memerlukan data lalu lintas; Anda memerlukan diagram arsitektur. Node yang berada di antara banyak pasangan node lainnya secara struktural sangat kritis.

Konsekuensi operasional: node dengan betweenness tinggi layak mendapat investasi yang tidak proporsional dalam (1) ruang kapasitas (capacity headroom), (2) redundansi, (3) observabilitas, & (4) playbook respons insiden.

Betweenness centrality: highlighted node sits on most shortest paths

Sebuah sistem memiliki: 100 klien eksternal -> 1 DNS -> 1 vendor CDN -> 3 reverse proxy -> 12 replika backend -> {1 DB primer, 2 node cache, 5 endpoint API eksternal}. Urutkan kelas-kelas node ini berdasarkan betweenness centrality (yang tertinggi di urutan pertama), & jelaskan mengapa dua peringkat teratas layak mendapat perhatian khusus.

Potongan Terkecil Memisahkan Potongan Terkecil

Teorema Min-Cut dalam Istilah Sederhana

min-cut antara dua node dalam graf = jumlah terkecil dari sisi (atau node) yang harus dihapus untuk memutus koneksi di antara keduanya.

Interpretasi operasional: min-cut membatasi radius ledakan (blast radius) terburuk. Jika min-cut antara 'clients' & 'database' adalah 1 sisi (satu proxy tunggal), maka kehilangan sisi tersebut akan memutus semua klien dari database. Jika min-cut adalah 5, Anda perlu kehilangan 5 komponen secara bersamaan untuk memutus koneksi sepenuhnya; sial, tetapi tetap terbatasi.

Merancang untuk radius ledakan: tingkatkan min-cut di setiap batas penting. Gunakan beberapa proxy; beberapa node cache; beberapa jalur jaringan antar DC. Setiap penambahan meningkatkan min-cut sebesar 1.

Pola bulkhead dalam istilah graf: partisi sumber daya menjadi sub-graf terpisah yang tidak berbagi min-cut satu sama lain. Kegagalan di dalam satu sub-graf tidak dapat menyebar ke yang lain karena sisi-sisi penghubungnya tidak ada.

Diameter Menetapkan Jarak Propagasi Kegagalan

Diameter graf = jalur terpendek terpanjang antara dua node mana pun.

Propagasi kegagalan: ketika sebuah node gagal & retry mengalir kembali, mereka menyentuh node upstream hingga jarak diameter. Sistem dengan diameter-3 (client -> proxy -> backend -> DB) berarti kegagalan DB memengaruhi 3 lapisan upstream dalam badai retry.

Implikasi: diameter yang lebih pendek = penahanan kegagalan lebih cepat tetapi juga konsentrasi node lebih tinggi. Setiap desain memiliki trade-off-nya masing-masing.

Min-cut sebagai batas radius ledakan; diameter sebagai jarak propagasi

Menghitung Min-Cut untuk Arsitektur Nyata

Sebuah arsitektur: 1 DNS, 1 CDN, 3 reverse proxy, 12 replika backend, 1 DB primer.

Hitung (atau estimasi) min-cut pada tiga batas: (1) antara klien eksternal & tier reverse-proxy; (2) antara tier reverse-proxy & tier backend; (3) antara tier backend & DB primer. Untuk masing-masing, sebutkan apa yang gagal ketika min-cut tersebut terlampaui.

Audit Mode Kegagalan melalui Metrik Graf

Sintesis

Anda sekarang dapat mengidentifikasi node dengan betweenness tinggi, menghitung min-cut di setiap batas, & memperkirakan jarak propagasi kegagalan melalui diameter.

Terapkan ketiga hal tersebut.

Sebuah sistem: 50 endpoint pelanggan -> 1 DNS -> 2 POP CDN -> 4 reverse proxy -> 16 replika backend -> { klaster DB (1 primer + 2 standby), klaster Redis (5 node), 3 API eksternal }.

Audit sistemnya: (1) sebutkan node dengan betweenness tertinggi, (2) hitung min-cut pada batas yang paling mengkhawatirkan, & (3) usulkan dua perubahan arsitektur spesifik (masing-masing meningkatkan min-cut, masing-masing diberi nama sesuai batas yang diperkuatnya).

Catatan Pendamping

Catatan Pendamping

Pelajaran geometri ini membingkai ulang pelajaran utama Failure Modes & Blast Radius melalui metrik graf (betweenness, min-cut, diameter).

Pendamping terakhir, geometry_of_observability_and_capacity, membahas sel Voronoi untuk tangkapan PoP CDN, batas kecepatan cahaya dari segitiga latensi, & kurva antrean yang ditinjau ulang di lapisan proxy.

Bagus sekali.