Inbound & Outbound sebagai Set yang Berbeda
Graf Bipartit dalam Arsitektur Jaringan
Sebuah grap bipartit membagi node menjadi dua set, dengan edge hanya diperbolehkan antar set (tidak pernah dalam set).
Batasan jaringan memiliki struktur bipartit alami:
- Sisi Ingress: luar klien di satu sisi, layanan internal di sisi lain. Edge: permintaan eksternal masuk, respons internal keluar.
- Sisi Egress: layanan internal di satu sisi, tujuan eksternal di sisi lain. Edge: layanan internal memulai panggilan keluar, respons eksternal kembali.
Asimetri:
- Ingress: set sumber adalah tidak terbatas (siapa pun di internet). Set tujuan adalah kecil (beberapa layanan). Volume skala dengan pengguna.
- Egress: set sumber adalah kecil (beberapa layanan internal). Set tujuan adalah terbatas (beberapa mitra yang diketahui). Volume skala dengan aktivitas internal.
Desain single-box menggabungkan kedua set bipartit melalui satu node. Node tersebut memiliki fan-in dari luar (ingress) DAN fan-in dari dalam (arahan egress sebaliknya). Beban node = jumlah dari kedua sisi.
Desain terbagi mempertahankan kedua set bipartit di node yang terpisah. Setiap node menghandle satu peran dengan skala yang tepat.
Sebelum Pembagian: Vertex Potong di Mana Saja
Single-Box: Semua Koneksitas di Satu Titik
Sebelum pemisahan, satu kotak proxy berada di antara setiap pasangan eksternal/internal. Dalam istilah grafik, ini adalah titik potong tingkat tinggi: penghapusan ini memutuskan setiap klien dari setiap backend dan setiap layanan internal dari setiap mitra eksternal.
Koneksitas di node ini = 1. Apa pun yang mengganggu node ini (keruntuhan proses, gangguan jaringan, pembunuhan OOM) memutuskan setiap jalur tergantung.
Setelah Pemisahan: Titik Potong Digantikan oleh Dua Node yang Lebih Ringan
Pemisahan menjadi ingress + egress menciptakan dua node grafik di mana sebelumnya hanya ada satu. Setiap node sekarang berdiri di satu setengah bipartite:
- Node ingress: titik potong untuk setengah bipartite eksternal-klien-ke-layanan-internals
- Node egress: titik potong untuk setengah bipartite layanan-internals-ke-mitra
Lingkaran balik geometris hilang: di grafik single-box, layanan internal yang mencoba mencapai layanan menghadap ke luar melalui alamat publik memerlukan perjalanan melalui titik yang sama dua kali (keluar melalui peran egress, kemudian masuk melalui peran ingress). Di grafik yang dipisah, perjalanan menabrak dua vertex yang berbeda.
Koneksitas per sisi tetap 1, tetapi dua titik potong dapat digantikan secara independen. Menambahkan proxy ingress kedua meningkatkan koneksitas sisi ingress ke 2 tanpa mengubah sisi egress.
Replication Per Sisi
Fleets produksi seringkali menjalankan 2+ proxy ingress (HA) DAN 2+ proxy egress (HA). Setiap sisi mencapai koneksitas 2 secara independen. Kapasitas skalabelateral secara horizontal sesuai kebutuhan.
Toleransi Pembagian Jaringan
Sinopsis
Kini Anda dapat membaca arsitektur jaringan sebagai graf bipartit, mengidentifikasi vertex potong, dan mengikuti koneksi per setengah.
Terapkan ini pada partisi jaringan.
Sebuah partisi jaringan adalah potongan graf: tepi di atas partisi gagal; kedua sisi tetap beroperasi tetapi tidak dapat saling mencapai satu sama lain.
Sistem terdistribusi geografis memiliki dua data center yang terhubung oleh satu link inter-DC. Lalu lintas masuk melalui DC1; lalu lintas keluar melewati DC1 ke mitra eksternal; beberapa layanan internal hidup di DC2 dan menghubungi DC1 untuk operasi berbasis state.
Catatan Tambahan
Catatan Tambahan
Geometri pelajaran ini merekonstruksi pelajaran utama Pemisahan Ingress & Egress sebagai analisis graf bipartit.
Catatan kompanion berikutnya, geometry_of_failure_modes_and_blast_radius, menghasilkan sentralitas antara (mengidentifikasi node botol) & min-cut (menentukan jangkauan ledakan).
Baik dilakukan.