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

Setiap PoP Miliki Sel dari Bidang

Pecahan Voronoi

Tempatkan N titik (PoP: Titik Ketersediaan) pada bidang. Gambar batas wilayah sehingga setiap titik pada bidang diberikan kepada PoP terdekat. Hasilnya adalah diagram Voronoi: bidang membagi menjadi N sel, satu per PoP, masing-masing mengandung semua titik yang lebih dekat ke PoPnya daripada ke PoP lainnya.

Geometri CDN: setiap permintaan pengguna rute ke PoP terdekat. Setiap PoP melayani sel dari bidang geografis. Batas sel adalah bisector sejajar antara garis antara PoP tetangga.

Baca Geometrik:

- Menambah PoP mengurangi sel tetangga (& membuat sel baru)

- Menghapus PoP memaksa selnya didistribusikan ke tetangga (peningkatan kapasitas di tetangga)

- Pengguna dekat batas sel mungkin beralih antara PoP saat pengaturan beban berubah

- Gagalnya satu PoP memperbesar setiap sel tetangga selama down

Konsekuensi Operasional: saat PoP gagal, beban tidak menghilang; itu bermigrasi ke PoP tetangga. Jika tetangga diukur hanya untuk sel normal mereka, lonjakan tersebut membuat mereka berikutnya (gagal PoP berturutan). CDN yang matang menyediakan penyedia yang diukur dengan mempertimbangkan lonjakan kegagalan tetangga.

! Sel Voronoi di sekitar PoP; satu PoP gagal memperbesar sel tetangga

CDN yang dijalankan 4 PoP melayani benua Amerika Serikat: Pantai Barat, Pegunungan, Tengah, Pantai Timur. Setiap diukur untuk ~25% total lalu lintas AS. PoP Pegunungan gagal. Prediksi: (1) PoP tetangga mana yang menyerap beban yang didistribusikan & dalam proporsi sekitar apa, & (2) apa yang terjadi jika tetangga tersebut diukur tepat 25% masing-masing tanpa ruang kepala.

Persamaan Segitiga yang Tidak Bisa Dikalahkan

Fisika Menetapkan Lantai

Cahaya bergerak dengan kecepatan ~300.000 km/s di vakum. Dalam kabel, sekitar 200.000 km/s karena indeks bias refraktif. Artinya:

- 1.000 km kabel = ~5 ms satu arah = ~10 ms perjalanan balik

- Pantai ke pantai AS (~5.000 km) = ~50 ms RTT minimum

- AS ke Eropa (~8.000 km) = ~80 ms RTT minimum

- Antipodal (setengah lingkaran dunia) = ~200 ms RTT minimum

Ini adalah lantai. RTT sebenarnya selalu lebih besar (saluran hop, switching, antrian, kepadatan). Tidak ada aplikasi yang dapat lebih cepat dari batas fisika.

Trapesium Sama Sisi

Untuk tiga node A, B, C, trapesium sama sisi mengatakan d(A,C) <= d(A,B) + d(B,C): jalur langsung lebih pendek (atau sama) dengan jalur tidak langsung.

Bacaan Jaringan: jika layanan Anda melewati A -> B -> C daripada A -> C secara langsung, latency-nya setidaknya sama dengan jumlah dua sisi latensi. Sering kali lebih banyak karena pengolahan di B.

Bacaan Arsitektural: setiap indirection (proxy, load balancer, CDN hop) menambahkan setidaknya satu sisi ke latency yang dirasakan pengguna. CDN menguntungkan karena membuat sisi pengguna lebih pendek (PoP lebih dekat dari asal), meskipun jumlah hop total naik.

Penguncian Multi-region: layanan yang membaca dari region A tetapi menulis ke region B mengakibatkan latency A-to-B pada setiap tulisan. Jika A & B berjarak 100 ms, setiap tulisan membutuhkan >= 100 ms minimum. Basis data yang direntangkan membayar lantai ini setiap kali.

Trapesium Latensi: A-B-C ditentukan oleh jarak fisika

Bayar Lantai

Layanan berjalan di dua region: US-East (us-east-1) & EU-West (eu-west-1). Kedua region sekitar 5.500 km jauh. Layanan memiliki basis data primer di US-East. Pengguna EU memiliki permintaan mereka dipenuhi oleh backend EU-West, tetapi setiap tulisan membutuhkan panggilan kembali ke primary US-East.

Hitung latency lantai untuk tulisan EU (menggunakan browser mereka ke backend EU-West ke primary US-East & kembali). Bandingkan dengan bacaan EU yang seluruhnya disajikan dari cache EU-West. Kemudian, usulkan satu perubahan arsitektural yang mengurangi latency lantai tulisan untuk pengguna EU.

Desain Kapasitas Geografis

Sinthesis

Anda sekarang dapat membaca sel tunggal Voronoi sebagai tangkapan PoP, menghitung lantai kecepatan cahaya, dan menerapkan kurva antrian di tingkat proxy.

Terapkan semuanya.

Sebuah tim merencanakan penutupan CDN untuk layanan yang memiliki pengguna di tiga benua: Amerika Utara (60% pengguna), Eropa (30%), Asia (10%). Mereka memiliki anggaran untuk 6 PoP. Setiap PoP dapat melayani sel tetap dengan penggunaan 70% tanpa melintasi lutut kurva antrian.

Desain penempatan PoP: (1) bagaimana Anda akan menyebar 6 PoP di tiga benua, (2) untuk bagian terkecil pengguna (Asia 10%), apa lantai latency untuk pengguna Asia yang disajikan dari PoP Eropa jika tidak ada PoP Asia (anggap jarak ~9000 km), & (3) berapa ruang kapasitas yang Anda butuhkan per PoP untuk bertahan terhadap kegagalan PoP tunggal tanpa penurunan kaskade?

Menutup Pelajaran Tambahan

Menutup Pelajaran Tambahan

Anda telah menyelesaikan semua lima pelajaran geometri-* tambahan:

- Proxies & Origins: grafik terarah, hitungan langkah, fan-in / fan-out, pengalihan

- Stateless Horizontal Scaling: Hukum Little sebagai area, kurva antrian & lututnya

- Ingress & Egress Separation: struktur bipartite, penghapusan titik potong, toleransi partisi

- Failure Modes & Blast Radius: sentralitas antara, potongan minimum, diameter

- Observability & Capacity (ini): sel PoP Voronoi, lantai segitiga kecepatan, desain kapasitas geografis

Barisan utama: sistem distribusi memiliki struktur geometris. Setiap arsitektur adalah grafik. Setiap lantai kecepatan adalah segitiga kesamaan. Setiap keputusan kapasitas adalah kurva dan lututnya. Setelah Anda melihat geometri, keputusan operasional mengikutinya.

Dengan kombinasi lima pelajaran utama (cs_distsys_*), Anda memiliki model mental kerja dari sistem distribusi web-skala dan disiplin grafik-teoretis untuk berpikir tentangnya.

Tugas yang bagus.