Penskalaan pada backend
Dalam pengaturan yang sangat sederhana, satu entri DNS masuk ke satu IP yang milik satu server. Semua orang di seluruh dunia pergi ke satu mesin itu. Dengan lalu lintas yang cukup, itu terlalu banyak untuk ditangani jauh sebelum Anda mencapai ukuran YouTube. Dalam skenario sederhana, kami menambahkan penyeimbang beban. Tugas load balancer adalah untuk mengarahkan lalu lintas ke berbagai server back-end saat muncul sebagai satu server.
Dengan data sebanyak yang dimiliki YouTube, akan terlalu banyak berharap semua server dapat melayani semua video, jadi kami memiliki lapisan tipuan lain untuk ditambahkan: sharding . Dalam contoh yang dibuat-buat, satu server bertanggung jawab untuk semua yang dimulai dengan "A", yang lain memiliki "B", dan seterusnya.
Pindahkan tepi lebih dekat
Namun, pada akhirnya, bandwidth menjadi intens dan Anda memindahkan BANYAK data ke satu ruangan. Jadi, sekarang kita sangat populer, kita memindahkannya keluar dari ruangan itu. Dua teknologi yang penting di sini adalah Jaringan Distribusi Konten dan Anycasting .
Di mana saya mendapatkan file statis besar yang diminta di seluruh dunia, saya berhenti mengarahkan tautan langsung ke server hosting saya. Yang saya lakukan adalah memasang tautan ke server CDN saya. Ketika seseorang meminta untuk melihat video, mereka meminta server CDN saya untuk itu. CDN bertanggung jawab karena sudah memiliki video, meminta salinan dari server hosting, atau mengarahkan saya. Itu akan bervariasi berdasarkan arsitektur jaringan.
Bagaimana CDN itu membantu? Ya, satu IP mungkin sebenarnya milik banyak server yang ada di banyak tempat di seluruh dunia. Ketika permintaan Anda meninggalkan komputer Anda dan pergi ke ISP Anda, router mereka memetakan jalur terbaik (terpendek, tercepat, paling murah ... apa pun metriknya) ke IP itu. Seringkali untuk CDN, yang ada di atau di sebelah jaringan Tier 1 terdekat .
Jadi, saya meminta video dari YouTube. Mesin yang sebenarnya disimpan setidaknya iad09s12.v12.lscache8.c.youtube.com
dan tc.v19.cache5.c.youtube.com
. Itu muncul di sumber halaman web saya yang saya lihat dan disediakan oleh beberapa bentuk server pengindeksan. Sekarang, dari Maine saya menemukan server tc19 berada di Miama, Florida. Dari Washington, saya menemukan server tc19 berada di San Jose, California.