Masalah dan Senario yang Berkenaan
Reka bentuk rangkaian penghantaran kandungan tarik berbilang penyewa dengan 50 titik kehadiran (PoP). Pada kemuncaknya ia menerima 2 juta permintaan GET dan HEAD sesaat, dan purata respons GET boleh cache adalah 256 KiB. Asal pelanggan boleh menerima 20,000 pengambilan sesaat secara keseluruhan dengan selamat. CDN menghidangkan aset berhash kandungan, imej, segmen video, dan dokumen boleh ubah pada URL yang stabil.
Sasarannya ialah masa ke bait pertama p99 di bawah 50 milisaat untuk respons tercache dalam keadaan normal, ketersediaan permintaan 99.99%, dan penerapan setiap nyahsimpan pada 99% PoP yang sihat dalam 60 saat. Penyebaran lengkap dan PoP yang lambat mesti kekal boleh diperhati. Nilai-nilai ini adalah andaian temu duga, bukan dakwaan tentang mana-mana penyedia.
Reka bentuk ini digunakan apabila pengguna tersebar secara geografi, jarak asal mendominasi kependaman, objek berulang boleh digunakan semula, dan lebar jalur atau pengiraan asal adalah terhad. Perkhidmatan dalaman swasta dengan satu rantau dan sedikit penggunaan semula mungkin memerlukan proksi terbalik serantau sebaliknya. Skop temu duga membina mekanisme teras CDN; membeli CDN terurus kekal pilihan pengeluaran yang sah selepas keperluan, sempadan keselamatan, kos operasi, dan model kegagalan penyedia dibandingkan.
Apa yang Dinilaikan oleh Penemuduga
Isyarat pertama ialah sama ada calon memisahkan satah kawalan daripada satah data. Orientasi penyewa, konfigurasi asal, sijil, peraturan cache, dan arahan nyahsimpan memerlukan aliran kerja pengurusan yang tahan lama. Menghidangkan permintaan mesti diteruskan daripada konfigurasi baik-terakhir-diketahui apabila laluan pengurusan itu tidak tersedia.
Isyarat kedua ialah ketepatan sempadan cache. Kunci cache yang mengabaikan dimensi perwakilan boleh membocorkan atau merosakkan respons merentas bahasa, pengekodan, peranti, atau penyewa. Kunci yang merangkumi setiap kuki dan pengepala memecah-belahkan cache sehingga hampir setiap permintaan terlepas. Jawapan mesti mentakrifkan permintaan mana yang layak, dimensi mana yang mengubah perwakilan, dan respons peribadi mana yang memintas storan dikongsi.
Isyarat ketiga ialah perlindungan asal. Dengan 50 PoP, satu objek yang baru popular boleh mencipta 50 pengisian sejuk serentak bahkan sebelum percubaan semula. Penggabungan permintaan di setiap lapisan, perisai serantau, keselarasan asal terbatas, dan belanjawan percubaan semula menyelesaikan bahagian berbeza daripada laluan itu. Tiada mod kegagalan yang boleh menukar 2 juta permintaan tepi sesaat menjadi trafik asal secara senyap.
Isyarat keempat ialah ketepatan pembatalan. Nyahsimpan yang hanya memadamkan bait semasa boleh berlumba dengan pengisian lama dan membenarkan kandungan lapuk muncul semula. Jawapan kukuh menggunakan generasi tertib atau batu nisan, menjadikan penghantaran idempoten, dan mengukur kedua-dua SLO penyebaran biasa dan ekor panjang.
Akhirnya, calon harus mengkuantiti daya pemprosesan, menyatakan kontrak konsistensi dan kelapukan secara eksplisit, merangkumi sempadan kegagalan dan keselamatan, dan mencadangkan ujian yang membuktikan tingkah laku yang boleh dilihat oleh pengguna. Senarai produk vendor tidak memberikan bukti tersebut.
Soalan Penjelasan Sebelum Menjawab
- Adakah CDN memiliki objek sumber? Tidak. Ia adalah CDN tarik; asal pelanggan kekal sebagai autoriti.
- Kaedah mana yang boleh dicache? Mulakan dengan
GETdanHEAD. Kaedah tidak selamat melalui sahaja dan tidak pernah dimasukkan dalam cache dikongsi oleh garis dasar ini. - Kandungan mana yang peribadi? Permintaan dengan kebenaran atau kuki khusus pengguna memintas caching dikongsi melainkan penyewa membekalkan dasar pembahagian eksplisit yang telah disemak.
- Seberapa segar kandungan boleh ubah mesti ada? Setiap laluan mentakrifkan TTL dan mana-mana tetingkap lapuk terbatas. Nyahsimpan menyasarkan perubahan mendesak; ia bukan pengganti untuk semakan kebenaran atau pembatalan.
- Adakah setiap parameter pertanyaan bermakna? Tidak. Penyewa menyenarai putih parameter yang mengubah perwakilan dan boleh membuang parameter penjejakan yang diketahui selepas penormalan.
- Adakah julat bait diperlukan? Ya untuk media besar. Kunci dan metadata mesti membezakan objek lengkap daripada julat yang disahkan, dan asal mesti menyediakan pengesah stabil atau URL berversi.
- Bagaimana PoP berdekatan dipilih? DNS dan/atau anycast menghalakan pengguna ke PoP yang boleh dicapai. Pemilihan laluan BGP bukan jaminan kedekatan geografi, jadi kesihatan dan kependaman terukur kekal perlu.
- Apa yang berlaku apabila satah kawalan gagal? Trafik sedia ada diteruskan dengan konfigurasi baik-terakhir-diketahui yang ditandatangani; perubahan tidak selamat gagal tertutup dan beratur untuk aplikasi kemudian.
- Bolehkah data lapuk dihidangkan semasa gangguan asal? Hanya untuk laluan dengan elaun
stale-if-erroryang eksplisit dan umur maksimum terbatas. - Apa maksud penyelesaian nyahsimpan? Sasaran 60 saat merangkumi 99% PoP yang sihat; sistem secara berasingan merekodkan setiap pengakuan, penangguh, percubaan semula, dan keputusan prob.
Rangka Kerja Jawapan 30 Saat
"Saya memisahkan satah kawalan dan data. DNS dan anycast menghala ke PoP yang sihat; tepi memilih konfigurasi penyewa yang ditandatangani, menormalkan kunci yang disenaraikan putih, dan memeriksa RAM kemudian SSD. Terlepas coalesce di tepi dan perisai serantau sebelum pengambilan asal yang dibelanjakan; penghidangan lapuk mengikut had eksplisit. Aset tidak boleh ubah menggunakan URL berversi. URL boleh ubah menggunakan generasi nyahsimpan tertib dan batu nisan, dan pengisian membandingkan generasi sebelum penerbitan supaya bait lama tidak dapat kembali. Saya mengesahkan kadar hit permintaan dan bait, beban asal, TTFB hit p99, umur lapuk, lag nyahsimpan, dan tingkah laku gangguan."
Penyelaman Mendalam Langkah demi Langkah
Langkah 1: Kuantiti trafik dan belanjawan asal
Menggunakan saiz GET purata sebagai sempadan perancangan untuk campuran kemuncak, lebar jalur respons sebelum overhead protokol adalah:
2,000,000 requests/s × 256 KiB × 8 = 4.19 Tb/sJika kemuncak itu dikekalkan selama sehari, ia akan mewakili kira-kira 45.3 PB bait respons tepi. Merentasi 50 PoP purata mudah ialah 40,000 permintaan/s dan 10.5 GB/s setiap PoP, tetapi trafik sebenar adalah condong secara geografi dan temporal. Perancangan kapasiti oleh itu menggunakan kemuncak per-PoP yang diukur, ruang kepala, persentil saiz objek, dan pengagihan semula kegagalan; purata hanyalah garis dasar.
Had asal adalah 1% daripada kemuncak permintaan tepi:
20,000 / 2,000,000 = 1%Itu tidak bermakna sasaran kadar hit tepi sahaja adalah 99%. Hit perisai, laluan tidak boleh dicache, pengisian, pengesahan semula, dan percubaan semula semuanya menggunakan belanjawan asal yang sama. Penjadualan yang menghadap asal memerlukan had keselarasan dan kadar permintaan per-penyewa, per-asal, dan global.
Langkah 2: Pisahkan satah kawalan dan data
Satah kawalan menyimpan penyewa, domain, identiti asal, sijil, dasar cache, peraturan penormalan, had lapuk, kunci URL bertandatangan, dan versi konfigurasi. Perubahan yang disahkan dilakukan secara tahan lama, dikompilasi menjadi petikan bertandatangan, dan diedarkan melalui aliran berversi. PoP mengakui versi yang diterapkan. Kunci peribadi sijil menggunakan rahsia khusus dan sempadan pengurusan kunci dan tidak termasuk dalam storan konfigurasi biasa.
Satah data mengendalikan TLS, carian penyewa, penguatkuasaan dasar, penormalan permintaan, caching, akses asal, dan log. Ia tidak pernah memanggil pangkalan data satah kawalan secara segerak semasa hit cache. PoP mengekalkan petikan bertandatangan baik-terakhir-diketahui melalui gangguan satah kawalan. Konfigurasi lapuk mempunyai tempoh hayat terbatas; sijil tamat tempoh, penyewa yang dibatalkan, dan dasar keselamatan tidak jelas gagal tertutup selepas tempoh hayat itu.
Langkah 3: Halakan trafik dan asingkan penyewa
DNS boleh mengembalikan nama serantau atau alamat anycast; rangkaian anycast boleh mengumumkan alamat yang sama dari berbilang PoP. Penghalaan memilih laluan rangkaian yang boleh dicapai, kemudian kesihatan perkhidmatan mengalih keluar PoP yang buruk dan mengalirkannya ke lokasi lain. Reka bentuk menjejaki perubahan laluan, beban failover, dan kependaman kerana "terdekat" adalah hasil yang diperhatikan, bukan jaminan BGP.
Di tepi, SNI dan Host yang dinormalkan memetakan ke satu penyewa sebelum sebarang carian cache. ID penyewa adalah komponen pertama tersirat bagi setiap ruang nama cache. Asal hanya menerima trafik CDN yang disahkan melalui mTLS, permintaan bertandatangan, sambungan peribadi, atau rahsia berputar, dan tidak sepatutnya kekal boleh dipintas secara awam. Alamat asal dan ubah hala disenaraikan putih untuk mencegah SSRF.
Langkah 4: Takrifkan kelayakan cache dan kunci
Garis dasar mengakui respons GET dan HEAD yang berjaya sahaja apabila dasar laluan dan medan HTTP membenarkan penggunaan semula dikongsi. private, no-store, kebenaran, kuki khusus pengguna, Set-Cookie, dan nilai Vary yang tidak disokong biasanya memintas storan. Respons negatif boleh dicache hanya untuk TTL khusus status yang pendek supaya kegagalan sementara tidak menjadi gangguan panjang.
Kunci konseptual adalah:
tenant_id | canonical_scheme_host | normalized_path | selected_query |
encoding_variant | approved_vary_dimensions | object_generationPenormalan berlaku sekali sebelum dasar, carian, pengelogan, pengisian, dan nyahsimpan. Hanya parameter pertanyaan dan pengepala yang benar-benar mengubah bait yang masuk ke dalam kunci. Menambah Accept-Language adalah betul apabila asal berbeza mengikut bahasa; menambah kuki sewenang-wenangnya atau User-Agent boleh meletupkan kardinaliti. Vary Vary respons mesti bersetuju dengan dimensi yang dibenarkan laluan, atau respons memintas caching.
Kesegaran mengikut dasar penyewa dan semantik HTTP: entri segar dikembalikan terus; entri lapuk mengesahkan semula dengan ETag atau Last-Modified; stale-while-revalidate dan stale-if-error digunakan hanya dalam sempadan eksplisit. no-cache bermaksud sahkan semula sebelum digunakan semula, manakala no-store bermaksud jangan simpan. Dasar cache tidak boleh melemahkan arahan privasi yang lebih ketat daripada asal.
Langkah 5: Bina laluan pengisian RAM, SSD, perisai, dan asal
Setiap PoP menyimpan metadata panas dan objek kecil dalam RAM dan cache SSD yang lebih besar dikawal penerimaan. Penerimaan dan penyingkiran mempertimbangkan kadar permintaan, saiz bait, kekinian, dan kos pengambilan supaya satu imbasan objek besar dan sejuk tidak dapat menyingkirkan set kerja yang berguna. Asal kekal autoriti; kehilangan cache tepi adalah peristiwa prestasi, bukan kehilangan data.
Semasa terlepas, jadual singleflight menggabungkan pemanggil untuk kunci yang tepat. Seorang pemanggil bertanya kepada perisai serantau; pengikut menunggu untuk masa terbatas atau menggunakan entri lapuk yang dibenarkan. Perisai mengulangi carian dan penggabungan merentasi banyak PoP. Hanya pengisian yang dipilihnya memasuki penjadualan asal. Sempadan penggabungan kedua ini mencegah satu objek sejuk daripada mencipta pengambilan asal bebas per PoP.
Setiap pengisian mempunyai tarikh akhir, saiz maksimum, pengesahan jenis kandungan, checksum, belanjawan bait penyewa, dan belanjawan percubaan semula. Percubaan semula menggunakan backoff eksponen dan jitter tetapi masih menggunakan belanjawan asal. Hedging dihadkan kepada pembacaan idempoten dan tidak boleh menggandakan kerja asal tanpa had yang ketat. Objek besar mengalir ke klien sambil menulis entri cache sementara; entri menjadi kelihatan hanya selepas panjang yang dijangkakan, pengesah, dan checksum selesai.
Langkah 6: Jadikan perlumbaan nyahsimpan dan pengisian selamat
Nama fail beralamat kandungan adalah lalai untuk aset tidak boleh ubah: menerbitkan bait baru mencipta URL baru, dan URL lama boleh tamat tempoh secara semula jadi. URL stabil memerlukan API nyahsimpan eksplisit yang menyokong objek tepat, awalan atau tag yang diluluskan, dan nyahsimpan kecemasan berskop penyewa. Nyahsimpan luas adalah terhad kadar dan memerlukan kebenaran lebih kuat kerana ia boleh mencipta ribut miss global.
Koordinator nyahsimpan melakukan {tenant, selector, generation, issued_at} ke log tertib tahan lama sebelum mengakui. PoP menerapkan peristiwa secara idempoten, memajukan generasi minimum pemilih, memadam bait yang sepadan, dan mengekalkan batu nisan cukup lama untuk merangkumi pengisian lama dan peristiwa tertangguh. Mereka melaporkan generasi yang diterapkan. Penyebaran hierarki, percubaan semula, dan geganti serantau mengelakkan satu PoP yang lambat daripada menyekat laluan biasa.
Sebelum menerbitkan objek yang diisi, cache membandingkan generasi yang ditangkap pada permulaan pengambilan dengan generasi minimum semasa. Jika nyahsimpan dimajukan semasa pengambilan, bait tersebut dibuang atau diambil semula di bawah generasi baru. Perbandingan ini mencegah respons lama yang tiba selepas pemadaman daripada menghidupkan semula kandungan lapuk. Peraturan yang sama berlaku di lapisan tepi dan perisai.
API melaporkan keadaan diterima, 99%-disebarkan, dan selesai-atau-tamat-tempoh secara berasingan. Prob sintetik meminta kunci yang dinyahsimpan dari rantau dan mengesahkan pengepala versi atau hash kandungan. Pembatalan keselamatan masih tergolong dalam semakan dalam talian autoriti atau tempoh hayat token terbatas yang berasingan; SLO nyahsimpan cache 60 saat bukan pembatalan segera.
Langkah 7: Kendalikan lebih beban dan kegagalan secara eksplisit
- Kegagalan PoP: tarik balik atau hentikan pengiklanan laluan, alirkan ke PoP yang sihat, dan simpan kapasiti untuk trafik yang diagihkan semula.
- Kehilangan SSD: bina semula secara beransur melalui kawalan penerimaan; jangan panaskan setiap objek atau pintas perisai.
- Kegagalan perisai: pilih perisai sekunder; jika fallback asal terus dibenarkan, kekalkan belanjawan asal yang sama.
- Tamat masa asal atau 5xx: hidangkan kandungan lapuk terbatas hanya di mana dasar membenarkan; jika tidak, kembalikan ralat eksplisit dan elakkan penguatan percubaan semula.
- Gangguan satah kawalan: terus menghidangkan daripada konfigurasi bertandatangan baik-terakhir-diketahui; beraturkan perubahan selamat dan tolak mutasi sensitif keselamatan yang tidak dapat disahkan.
- Kelewatan aliran nyahsimpan: cuba semula secara idempoten, dedahkan PoP yang lambat, dan pintas atau sahkan semula kunci yang terjejas apabila generasi kritikal diketahui tetapi bait tidak boleh dipercayai.
- Lonjakan objek panas: gabungkan pengisian, replikasi objek merentas proses cache, lindungi satu proses daripada ketepuan NIC atau kunci, dan hadkan kadar penyewa yang menyalahi guna.
Langkah 8: Selamat dan sahkan sistem yang lengkap
Tamatkan TLS dengan sijil berskop penyewa dan lindungi identiti asal. Kuatkuasakan had saiz permintaan, bilangan pengepala, bilangan julat, dan saiz respons. Normalkan laluan tidak jelas dan medan HTTP sekali untuk mencegah penyeludupan permintaan dan perselisihan kunci cache. Bahagikan kuota, kunci, log, hak nyahsimpan, dan ruang nama cache mengikut penyewa. URL atau kuki bertandatangan disahkan sebelum carian, dan dasar mereka tidak boleh secara tidak sengaja menukar respons peribadi menjadi objek awam.
Perhatikan kadar hit permintaan dan bait secara berasingan, TTFB hit, kependaman miss, kadar hit perisai, QPS asal dan lebar jalur, pengikut yang digabungkan, kardinaliti kunci cache, bait penyingkiran, umur lapuk, lag nyahsimpan mengikut PoP, versi konfigurasi, kadar ralat, dan beban failover. Log merekodkan digest kunci selamat privasi, penyewa, PoP, jenis keputusan, umur, generasi, lapisan huluan, dan ID jejak.
Pengesahan merangkumi permulaan sejuk objek panas dari kesemua 50 PoP, nyahsimpan yang berlumba dengan pengisian sengaja perlahan, peristiwa nyahsimpan berganda dan tidak mengikut urutan, Vary yang diracuni, pintasan kebenaran dan kuki, pengisian julat separa, mulakan semula SSD, kehilangan perisai, pendikit asal, penarikan balik PoP, dan gangguan satah kawalan. Semakan penerimaan merangkumi TTFB p99 tercache di bawah 50 milisaat dalam keadaan normal, ketersediaan permintaan 99.99%, pengambilan asal pada atau di bawah 20,000 sesaat, dan 99% daripada PoP yang sihat menerapkan nyahsimpan dalam 60 saat tanpa kebangkitan semula yang lapuk.
Contoh Jawapan Berkualiti Tinggi
"Saya akan mulakan dengan sempadan kapasiti. Dua juta permintaan sesaat pada 256 KiB adalah kira-kira 4.19 Tb/s trafik respons kemuncak. Asal hanya boleh menerima 1% daripada jumlah permintaan tepi, jadi perlindungan asal adalah kekangan keras, bukan pengoptimuman pilihan.
Saya memisahkan satah kawalan tahan lama daripada satah data penghidangan. Konfigurasi penyewa, sijil, identiti asal, peraturan cache, dan nyahsimpan diversi dan diaudit. PoP menghidangkan dengan konfigurasi baik-terakhir-diketahui bertandatangan dan bukannya menanyakan pangkalan data itu pada setiap permintaan. DNS dan anycast menghalakan pengguna ke PoP yang sihat; SNI dan Host mengenal pasti penyewa sebelum carian cache berruang nama.
Kunci mengandungi penyewa, URL kanonikal, hanya dimensi pertanyaan dan pengepala yang mengubah perwakilan, dan generasi. Respons peribadi, diberi kebenaran, no-store, dan tidak selamat memintas cache dikongsi. Hit datang dari RAM atau SSD. Miss digabungkan di tepi, dihantar ke perisai serantau, digabungkan semula, dan diakui melalui belanjawan per-asal dan global. Laluan segar, disahkan semula, dan lapuk terbatas adalah berbeza.
Aset tidak boleh ubah menggunakan URL berversi. Nyahsimpan URL boleh ubah pertama melakukan generasi yang meningkat ke log tahan lama. Setiap lapisan mengekalkan generasi minimum yang dibenarkan dan batu nisan. Pengisian memeriksa generasi tersebut sebelum penerbitan, supaya bait yang diambil sebelum nyahsimpan tidak dapat tiba selepasnya dan memulihkan kandungan lapuk. Saya mendedahkan keadaan 99%-disebarkan dan selesai dan bukannya menyembunyikan penangguh.
Saya akan membuktikan reka bentuk dengan kadar hit permintaan dan bait, QPS asal, TTFB hit p99, umur lapuk, lag nyahsimpan, dan versi konfigurasi. Kemudian saya akan menyuntik miss sejuk panas, perlumbaan nyahsimpan/pengisian, kegagalan PoP dan perisai, pendikit asal, peristiwa nyahsimpan tidak mengikut urutan, keracunan kunci cache, dan gangguan satah kawalan, mengekalkan empat SLO yang dinyatakan sebagai kriteria penerimaan."
Kesilapan Biasa
- Menyebut PoP terdekat secara geografi dijamin → BGP memilih laluan rangkaian, bukan jarak garisan lurus → ukur kependaman dan kesihatan, dan reka bentuk penarikan balik laluan dan failover.
- Memasukkan setiap pengepala permintaan dalam kunci → kardinaliti meletup dan kebanyakan trafik terlepas → senaraikan putih hanya dimensi yang mengubah perwakilan dan tolak
Varyyang tidak disokong. - Mengabaikan identiti penyewa daripada ruang nama → URL yang sama boleh merentas sempadan penyewa → dapatkan penyewa sebelum carian dan jadikannya awalan kunci tersirat.
- Memadam bait semasa nyahsimpan tanpa generasi → pengisian dalam penerbangan yang lebih lama boleh menerbitkan semula mereka → majukan batu nisan dan bandingkan generasi sebelum pemasukan cache.
- Menambah hanya kunci tepi → 50 PoP masih boleh mengeluarkan 50 pengisian asal → gabungkan semula di perisai dan kekalkan belanjawan seluruh asal.
- Mencuba semula setiap permintaan asal yang gagal → percubaan semula menguatkan gangguan → gunakan tarikh akhir, belanjawan terbatas, jitter, dan tingkah laku lapuk atau ralat khusus laluan.
- Menggunakan nyahsimpan untuk pembatalan keselamatan segera → penyebaran mempunyai ekor yang boleh diukur → gunakan semakan autoriti atau tempoh hayat kelayakan terbatas untuk keputusan keselamatan.
- Melaporkan hanya kadar hit permintaan → banyak hit kecil boleh menyembunyikan miss besar yang mahal → jejak kadar hit bait, lebar jalur asal, taburan saiz, dan kos pengambilan juga.
Penyelaman Mendalam Susulan
Susulan 1: Bagaimana anda akan menyokong objek video besar dan permintaan julat?
Utamakan URL segmen tidak boleh ubah dan cache segmen lengkap di mana praktikal. Sahkan Content-Range, panjang objek, pengesah, dan generasi sebelum menggabungkan julat. Hadkan bilangan julat dan penguatan, dan jangan sekali-kali biarkan dua perwakilan berkongsi kunci objek separa. Untuk objek yang sangat besar, selaraskan potongan kepada grid terkawal supaya permintaan bertindih boleh menggunakan semula bait tanpa mencipta serpihan sewenang-wenangnya.
Susulan 2: Bagaimana anda akan mencegah serangan keracunan kunci cache?
Normalkan URL dan medan HTTP sekali, tolak pengekodan tidak jelas, dan masukkan setiap input yang diluluskan yang mengubah bait asal. Jangan hadapkan pengepala tidak berkunci yang asal gunakan untuk pemilihan perwakilan. Uji pengepala bercanggah, medan berganda, pengekodan laluan, urutan pertanyaan, dan penormalan hos di tepi dan asal supaya kedua-dua pihak mentafsirkan permintaan dengan cara yang sama.
Susulan 3: Adakah HTML diperibadikan perlu dicache di tepi?
Hanya dengan kontrak produk dan keselamatan yang eksplisit. Pilihan lebih selamat cache shell awam dan mengambil data peribadi secara berasingan. Jika HTML penuh mesti dicache, bahagikan mengikut identiti atau kumpulan terbatas dan disahkan, halang penggunaan semula dikongsi, takrifkan tingkah laku log keluar, dan uji pengasingan rentas pengguna. Kuki sesi sewenang-wenangnya dalam kunci cache awam adalah kedua-duanya berisiko dan merosakkan kadar hit.
Susulan 4: Bagaimana anda akan memilih antara satu perisai global dan perisai serantau?
Perisai tunggal memaksimumkan penyatuan miss tetapi boleh menambah jarak dan menumpukan kegagalan. Perisai serantau mengurangkan kependaman dan radius ledakan tetapi mungkin mengambil objek yang sama dari asal beberapa kali. Pilih berdasarkan lokasi asal, boleh dicache, permintaan serantau, kependaman yang boleh diterima, dan belanjawan asal; kemudian uji failover perisai dan dokumentasikan di mana topologi yang dipilih tidak lagi sesuai.
Susulan 5: Bagaimana anda akan melancarkan dasar kunci cache baru?
Kompilasi sebagai versi konfigurasi baru, kira bayangan kunci lama dan baru, dan bandingkan kardinaliti, kadar hit, pengelasan privasi, dan beban asal tanpa menghidangkan daripada kunci baru. Lancar mengikut penyewa dan PoP, simpan versi rollback, dan panaskan hanya objek panas yang terbukti. Perubahan kunci mencipta peristiwa cache sejuk, jadi ia mesti memasuki belanjawan asal yang sama seperti pengisian biasa.
Susulan 6: Adakah multi-CDN diperlukan untuk ketersediaan 99.99%?
Tidak secara automatik. Satu penyedia boleh mencapai sasaran jika model kegagalan yang diukur, lebihan PoP, penarikan balik laluan, reka bentuk asal, dan operasi menyokongnya. Multi-CDN mengurangkan beberapa risiko penyedia tetapi memperkenalkan konsistensi DNS atau pemandu, konfigurasi berganda, koordinasi nyahsimpan, penormalan log, pengendalian sijil, dan masalah perisai asal biasa. Amalkan hanya selepas menguji bahawa satah kawalan yang ditambah meningkatkan sasaran ketersediaan yang dinyatakan.