YouTube'un ölçek dağılımına izin veren teknolojiler?


34

Youtube bildiğimiz kadarıyla çok büyük. Video başına en az 2 megabayt yayın yapan binlerce eşzamanlı kullanıcısı var. Açıkçası, bu çok fazla trafik alıyor ... herhangi bir sunucu için çok fazla.

Hangi ağ teknolojileri günde 4 milyar video çekmeye izin veriyor ?

Yanıtlar:


51

Arka uçta ölçeklendirme

Çok basit bir kurulumda, bir DNS girişi bir sunucuya ait olan bir IP'ye gider. Dünyadaki herkes o tek makineye gidiyor. Yeterli trafik olduğunda, YouTube’un boyutuna gelmeden çok önce başa çıkmak için çok fazla. Basit bir senaryoda, bir yük dengeleyici ekliyoruz. Yük dengeleyicinin görevi, trafiği tek bir sunucu olarak belirirken çeşitli arka uç sunucularına yönlendirmektir.

YouTube'da olduğu kadar çok veri bulunduğundan, tüm sunucuların tüm videolara hizmet vermesini beklemek çok fazla olurdu, bu nedenle eklemek için başka bir indirme katmanımız var : paylaşma . Tartışmalı bir örnekte, bir sunucu "A" ile başlayan, bir diğeri "B" vb. İle başlayan her şeyden sorumludur.

Kenarları yaklaştırmak

Sonunda, bant genişliği daha da yoğunlaşıyor ve bir odaya LOT veri taşıyorsunuz. Şimdi süper popüler olduğumuz için onu o odadan uzaklaştırıyoruz. Burada önemli olan iki teknoloji, İçerik Dağıtım Ağları ve Anycasting'dir .

Dünyanın her yerinde bu büyük statik dosyaların istendiği yerde, barındırma sunucularımın doğrudan bağlantılarını işaretlemeyi bırakıyorum. Bunun yerine, CDN sunucuma bir bağlantı koymak. Birisi bir videoyu izlemeyi istediğinde, CDN sunucumdan ister. CDN zaten videoya sahip olmak, barındırma sunucusundan bir kopya istemek veya beni yönlendirmekten sorumludur. Bu ağın mimarisine göre değişecektir.

Bu CDN nasıl yardımcı olur? Aslında, bir IP aslında dünyanın birçok yerinde bulunan birçok sunucuya ait olabilir. İsteğiniz bilgisayarınızı terk ettiğinde ve ISS'nize gittiğinde, yönlendiricileri bu IP'ye giden en iyi yolu (en kısa, en hızlı, en düşük maliyetli ... ne olursa olsun) eşler. Genellikle bir CDN için, en yakın Tier 1 ağınızın yanında veya yanında olacaktır .

Bu yüzden YouTube'dan bir video istedim. Depolandığı asıl makine en azından iad09s12.v12.lscache8.c.youtube.comve tc.v19.cache5.c.youtube.com. Bunlar web sayfamın kaynağında gözüküyor ve bir tür indeksleme sunucusu tarafından sağlandı. Şimdi, Maine'den, tc19 sunucusunun Miama, Florida'da olduğunu gördüm. Washington’dan, tc19 sunucusunu San Jose, Kaliforniya’da buldum.


4
Kesinleşmiş örnekleme örneğiniz gördüğüm en iyisidir. Herkes bir nedenden dolayı bu basit konseptten büyük bir komplikasyon yaratıyor gibi görünüyor.
kizzx2

@Jeff, Bazı alıntılar eklerseniz veya bunun son kullanıcı spekülasyonu olduğunu açıkça belirtirseniz çok iyi olur.
Pacerier

23

Büyük siteler için çeşitli teknikler kullanılır.

www.youtube.com -> herhangi bir sayıda IP adresi

DNS’e bakalım:

www.youtube.com is an alias for youtube-ui.l.google.com.
youtube-ui.l.google.com has address 74.125.226.14
youtube-ui.l.google.com has address 74.125.226.0
youtube-ui.l.google.com has address 74.125.226.1
youtube-ui.l.google.com has address 74.125.226.2
youtube-ui.l.google.com has address 74.125.226.3
youtube-ui.l.google.com has address 74.125.226.4
youtube-ui.l.google.com has address 74.125.226.5
youtube-ui.l.google.com has address 74.125.226.6
youtube-ui.l.google.com has address 74.125.226.7
youtube-ui.l.google.com has address 74.125.226.8
youtube-ui.l.google.com has address 74.125.226.9
youtube-ui.l.google.com has IPv6 address 2001:4860:800f::88

Böylece www.youtube.com aslında birkaç IP adresine gidebilir.

önceden yayınlanmış IP adresleri

Tek bir IP, herhangi bir sayıda Özerk Sistem tarafından (İnternet üzerinden bir Ağ) aynı anda ele alınabilir. Örneğin, kök DNS sunucularının birçoğu ve Google’ın 8.8.8.8DNS sunucusu, dünyanın dört bir yanındaki herhangi bir noktadan yayınlanmaktadır. Fikir şu ki, ABD’de iseniz, ABD ağına ve İngiltere’nde iseniz, Birleşik Krallık ağına çarpmışsınızdır.

farklı sunucudan gelen medya

Sadece açık olduğunuz için www.youtube.com, bu, tüm içeriğin aynı sunucudan gelmesi gerektiği anlamına gelmez. Bu sitede haklar sstatic.netyerine statik kaynaklar kullanılıyor serverfault.com.

Örneğin, Kaley Cuoco'nun Slave Leia PSA'sını izlersek , medyanın hizmet ettiğini görürüz v10.lscache5.c.youtube.com.

çoklu internet bağlantısı

Sizi temin ederim, Youtube'un birden fazla internet bağlantısı var. Diğer tüm tekniklere rağmen, Youtube gerçekten tek bir site ve tek bir sunucu olsa bile, teorik olarak video sunmakta olduğu diğer tüm ağlarla da bağlantı kurabiliyordu. Gerçek dünyada elbette mümkün değil, ama fikri düşün.

Bu fikirlerin herhangi biri veya tümü (ve daha fazlası!) Bir İçerik Dağıtım Ağı'nı desteklemek için kullanılabilir . Daha fazla bilgi edinmek istiyorsanız bu makaleyi okuyun.


"Teoride, video sunmakta olduğu diğer tüm ağlarla bağlantıları olabilir. Gerçek dünyada elbette mümkün olmayan ama fikri düşünün." Gerçek dünyada neden mümkün değil? Birçok internet sağlayıcıya abone olabilirsiniz
user1034912 13.03.2012

Gerçekten otuz beş binden fazla ayrı ağla bağımsız bağlantılarınız olsun istiyor musunuz? Pratik değil.
MikeyB

12

YouTube’un (yani Google’ın) yalnızca bir sunucusu olduğunu hayal etmek yanlıştır; Bu bilgiler , bu hizmeti destekleyen sistemin ölçeğini göstermeye yardımcı olabilir.

Yalnızca tek bir varlık noktanız olsa bile, kesinlikle yük dengeleyici ve benzeri araçlar kullanarak tek bir adın arkasında birden fazla sunucuya ve hatta IP'ye sahip olabilirsiniz.

Yine de Google’ın çok fazla ilgi çekici noktası var ve İnternet’te birden fazla yerde aynı IP’yi yayınlama tekniği olan AnyCast gibi araçları kullanın ve insanların altyapıyı desteklemek için en yakın sunucu havuzuna yönlendirmelerini sağlayın.


1
Google, dünya çapında bir milyon sunucuyu nasıl kullanıyor? Sunucuları kiralıyorlar mı? Tüm bu üçüncü taraf sunucularını yöneten veri güvenliğini sağlamak onlar için zor olmaz mıydı?
user1034912, 13.03.2012

2
Her birine sahipler. Cidden, onlar satın alırlar - iyi, bugünlerde yapın - onları. Bu, bazı yönlerden, diğerlerinden daha az, hayal edeceğiniz kadardır.
Daniel Pittman

1
investtor.google.com/financial/tables.html yardımcı olabilir; 4. Çeyrek, 10.000-ish ... milyon dolar geldi. Cidden, onlar hayal bile edemeyeceğiniz bir ölçekte.
Daniel Pittman

2
@ user1034912 - evet, şaşırtıcı. Ama bu Google , peki neden olmasın? Dünyada binlerce veri merkezi var, Google bunların çok küçük bir kısmını kullanıyor.
tombull89

1
@Tomtom - Sunucu teknolojisine aşina olmayan bir kullanıcıya inanmak neden bu kadar zor olmasın? Google’ın yüzlerce sunucusu olduğunu bilmeyen birinin bir kayanın altında yaşadığını söylemek kabalık ve son derece saldırgan. Dışarı çıkın ve düzenli olmayan birkaç teknik uzmana sorun ve Google’ın sunucularının boyutunu ve hatta ne olduklarını bilmediklerini garanti ederim. Ayrıca normal insanlar normalde bilançolara göz atıyor mu? Veri merkezleri ile ilgili tüm haberi her zaman okumak zorunda mısın? Dürüst olmak gerekirse, ne kadar itibarınız olduğu umurumda değil, kaba, saygısız ve aşağılayıcı olmanız sizi yaşamda hiçbir yere götürmez.
DMan

3

Bazı şeylerin ağ tarafına biraz dokunacağım: Google’ın dünyadaki 73 benzersiz veri merkezinde (kendileri dahil değil) bir Varlık Noktası (PoP) var. Onlar 69 benzersiz İnternet alışverişinin bir üyesidir . Google peeringdb'de listelenen diğer ağlardan daha fazla veri merkezinde ve Internet Exchange noktasında.

Google’ın toplam internet değişim kapasitesi> 1.5Tbps’dir ve 1.5Tbps’in, Google’da> 100Mbps trafiği olan ancak 2-3Gbps civarında tahmin ettiğimden daha az olduğu ağlar için ayrılmıştır. Sahip sonra 'yeterli hacim' , sen özel bakarken (PNI) taşınır.

Internet Exchange eşleştirme ve özel eşleşmeye ek olarak (AS15169 ile), YouTube ayrıca bir transit ağ da işletmektedir: AS43515 ve benim ödediğim başka bir ağ, AS36040 ücretli perakendecilik / taşma içindir. Google ayrıca faaliyet Google Global Cache ISS'ler kendi ağı içinde daha da lokal olarak dağıtmak için, sunucular. (Peeringdb'deki veriler, bgp.he.net).

Deneyimlerime dayanarak, YouTube'un video sunacak bir yer seçmek için IP konum belirleme veya Anycast'tan çok daha fazlasını kullandığına inanıyorum.

Google çok büyük bir küresel omurga ağı işletiyor, karanlık elyaflara sahipler, denizaltı kabloları finanse ettiler . YouTube'un sağladığı trafik hacmi çok büyük! YouTube’un yoğun trafik hacmi> 12Tbps olduğunu tahmin ediyorum. Google , etki alanları arası İnternet trafiğinin en az% 7'sini (ve muhtemelen>% 10'unu) temsil eder .

Bu nedenle, sorunuzu bir ağ perspektifinden yanıtlamak için YouTube gibi ölçeklendirmek için, ağınızdaki büyük bir yatırım yapmanız gerekiyor - zemindeki fiberden WDM donanımına ve yönlendiricilere kadar. İçeriği ve ağı kullanıcılarınıza mümkün olduğunca yakın tutmalısınız. Bu, genellikle eşleştirme, IX'ler ve belki biraz geçiş anlamına gelir. Trafiği mümkün olduğunca eşit ve dağıtılmış bir şekilde tutmak için içeriğin nereden alınacağını kullanıcılara akıllıca söyleyebilmelisiniz. Ve elbette, günde 4 milyar görüntüyü saklamak, işlemek, dönüştürmek ve sunmak için devasa sunucu altyapısına sahip olmalısınız!

Sunucu tarafını merak ediyorsanız , yakın zamanda yayımlanan bazı veri merkezi görüntülerini parçalayan bir blog yazısı yazdım .


BTW, Google için çalışıyor musunuz?
Pacerier

2

Büyük ölçekli sistemler ve bu şirketlerin kullandığı teknolojiler hakkında daha fazla bilgi edinmek istiyorsanız, şimdi en iyi kaynak http://highscalability.com

Google veya Akamai gibi en büyük şirketler, her zaman kendileri tarafından yazdıkları / oluşturdukları bileşenlere sahiptir. (örneğin Akamai hizmetleri için bir web sunucusu geliştirdi)


Verilerden bazıları modası geçmiş olsa da ....
Pacerier
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.