เทคโนโลยีที่อนุญาตให้กระจายสเกลใน YouTube ได้หรือไม่


34

Youtube อย่างที่เรารู้นั้นใหญ่มาก มีผู้ใช้หลายพันคนพร้อมกันสตรีมมิ่งอย่างน้อย 2 เมกะไบต์ต่อวิดีโอ เห็นได้ชัดว่านั่นเป็นการรับส่งข้อมูลจำนวนมาก ... มากเกินไปสำหรับเซิร์ฟเวอร์ตัวใดตัวหนึ่ง

เทคโนโลยีเครือข่ายใดที่ให้การผลักดันวิดีโอถึง 4 พันล้านครั้งต่อวัน

คำตอบ:


51

ไต่ลงบนแบ็กเอนด์

ในการตั้งค่าที่ง่ายมากรายการ DNS หนึ่งรายการจะไปที่ IP หนึ่งรายการซึ่งเป็นของเซิร์ฟเวอร์เดียว ทุกคนทั่วโลกไปที่เครื่องเดียว ด้วยปริมาณการใช้ที่เพียงพอนั่นเป็นสิ่งที่เกินกว่าจะจัดการได้นานก่อนที่คุณจะมีขนาดเท่ากับ YouTube ในสถานการณ์ง่าย ๆ เราเพิ่ม load balancer งานของ load balancer คือเปลี่ยนเส้นทางทราฟฟิกไปยังเซิร์ฟเวอร์ back-end ต่างๆในขณะที่ปรากฏเป็นเซิร์ฟเวอร์เดียว

เนื่องจากมีข้อมูลมากที่สุดเท่าที่ YouTube มีอยู่มันจะมากเกินกว่าที่จะคาดหวังว่าเซิร์ฟเวอร์ทั้งหมดจะสามารถให้บริการวิดีโอทั้งหมดได้ดังนั้นเราจึงมีทางอ้อมอีกชั้นหนึ่งที่จะเพิ่ม: การแบ่งส่วน ในตัวอย่างที่วางแผนไว้เซิร์ฟเวอร์หนึ่งรับผิดชอบสำหรับทุกสิ่งที่ขึ้นต้นด้วย "A" และอีกเซิร์ฟเวอร์หนึ่งเป็นเจ้าของ "B" เป็นต้น

ขยับขอบให้ชิดยิ่งขึ้น

แม้ว่าในที่สุดแบนด์วิดท์จะรุนแรงและคุณกำลังย้ายข้อมูลจำนวนมากไว้ในห้องเดียว ดังนั้นเมื่อเราเป็นที่นิยมมากเราย้ายมันออกจากห้องนั้น สองเทคโนโลยีที่สำคัญที่นี่มีเครือข่ายการกระจายเนื้อหาและAnycasting

เมื่อใดก็ตามที่ฉันมีไฟล์สแตติกขนาดใหญ่ที่ถูกร้องขอไปทั่วโลกฉันหยุดชี้ลิงค์โดยตรงไปยังเซิร์ฟเวอร์ที่โฮสต์ของฉัน สิ่งที่ฉันทำคือวางลิงค์ไปยังเซิร์ฟเวอร์ CDN ของฉัน เมื่อมีคนขอดูวิดีโอพวกเขาจะถามเซิร์ฟเวอร์ CDN ของฉัน CDN มีหน้าที่รับผิดชอบในการมีวิดีโอขอสำเนาจากเซิร์ฟเวอร์การโฮสต์หรือเปลี่ยนเส้นทางฉัน ที่จะแตกต่างกันไปตามสถาปัตยกรรมของเครือข่าย

CDN นั้นมีประโยชน์อย่างไร IP หนึ่งอันอาจเป็นของเซิร์ฟเวอร์จำนวนมากที่อยู่ในหลายแห่งทั่วโลก เมื่อคำขอของคุณออกจากคอมพิวเตอร์และไปที่ ISP ของคุณเราเตอร์ของพวกเขาจะจับคู่เส้นทางที่ดีที่สุด บ่อยครั้งสำหรับ CDN ที่จะอยู่หรือถัดจากเครือข่ายTier 1 ที่ใกล้ที่สุด

ดังนั้นฉันขอวิดีโอจาก YouTube เครื่องจริงมันถูกเก็บไว้บนเป็นอย่างน้อยและiad09s12.v12.lscache8.c.youtube.com tc.v19.cache5.c.youtube.comที่ปรากฏในแหล่งที่มาของหน้าเว็บของฉันฉันกำลังมองหาและได้รับการจัดทำโดยรูปแบบของเซิร์ฟเวอร์การจัดทำดัชนีบางอย่าง ตอนนี้จากเมนฉันพบว่าเซิร์ฟเวอร์ tc19 อยู่ใน Miama, Florida จากวอชิงตันฉันพบเซิร์ฟเวอร์ tc19 ที่จะอยู่ในซานโฮเซ่แคลิฟอร์เนีย


4
ตัวอย่างที่คุณได้วางแผนไว้ว่าจะเป็นชิ้นส่วนที่ดีที่สุดที่ฉันเคยเห็น ทุกคนดูเหมือนจะทำให้เกิดความยุ่งยากครั้งใหญ่จากแนวคิดง่ายๆนี้ด้วยเหตุผลบางอย่าง
kizzx2

@ เจฟฟ์จะดีมากถ้าคุณเพิ่มในการอ้างอิงหรือทำให้ชัดเจนว่านี่เป็นการเก็งกำไรของผู้ใช้ปลายทาง
Pacerier

23

มีการใช้เทคนิคหลายอย่างสำหรับไซต์ขนาดใหญ่

www.youtube.com -> ที่อยู่ IP ใด ๆ

ลองดูใน DNS:

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

www.youtube.com สามารถไปที่ที่อยู่ IP หลายแห่งได้

ที่อยู่ IP ที่ได้รับการใด ๆ

IP เดียวสามารถจัดการได้โดยระบบอัตโนมัติ (เครือข่ายบนอินเทอร์เน็ต) จำนวนเท่าใดก็ได้พร้อมกัน ตัวอย่างเช่นเซิร์ฟเวอร์ DNS หลักหลายแห่งรวมถึง8.8.8.8เซิร์ฟเวอร์ DNS ของ Google ได้รับการถ่ายทอดในหลาย ๆ จุดทั่วโลก แนวคิดก็คือถ้าคุณอยู่ในสหรัฐอเมริกาคุณจะไปที่เครือข่ายของสหรัฐและถ้าคุณอยู่ในสหราชอาณาจักรคุณก็จะไปที่เครือข่ายของสหราชอาณาจักร

สื่อที่มาจากเซิร์ฟเวอร์อื่น

เพียงเพราะคุณอยู่www.youtube.comนั่นไม่ได้หมายความว่าเนื้อหาทั้งหมดจะต้องมาจากเซิร์ฟเวอร์เดียวกัน ขวาบนเว็บไซต์นี้ทรัพยากรแบบคงที่จะได้รับจากการแทนsstatic.netserverfault.com

ตัวอย่างเช่นถ้าเราดูKaley Cuoco ของทาสหญิงเลอา PSAv10.lscache5.c.youtube.comเราพบว่าสื่อที่ทำหน้าที่เพิ่มขึ้น

การเชื่อมต่ออินเทอร์เน็ตหลาย

ฉันขอรับประกันคุณ Youtube มีการเชื่อมต่ออินเทอร์เน็ตมากกว่าหนึ่ง แม้จะมีเทคนิคอื่น ๆ ทั้งหมดแม้ว่า Youtube จะเป็นไซต์เดียวและเซิร์ฟเวอร์เดียว แต่ในทางทฤษฎีแล้วมันอาจมีการเชื่อมต่อกับเครือข่ายอื่นทุกเครือข่ายที่ให้บริการวิดีโอ ในโลกแห่งความเป็นจริงที่เป็นไปไม่ได้แน่นอน แต่พิจารณาความคิด

ใดหรือทั้งหมดของความคิดเหล่านี้ (และอื่น ๆ !) สามารถนำมาใช้เพื่อสนับสนุนเครือข่ายการจัดส่งเนื้อหา อ่านบทความนี้หากคุณต้องการทราบข้อมูลเพิ่มเติม


"ในทางทฤษฎีแล้วมันสามารถเชื่อมต่อกับเครือข่ายอื่น ๆ ที่ให้บริการวิดีโอในโลกแห่งความเป็นจริงที่เป็นไปไม่ได้แน่นอน แต่จะพิจารณาความคิดนี้" ทำไมมันเป็นไปไม่ได้ในโลกแห่งความเป็นจริง? คุณสามารถสมัครสมาชิกกับผู้ให้บริการอินเทอร์เน็ตมากมาย
user1034912

คุณต้องการที่จะมีการเชื่อมต่อที่เป็นอิสระกับเครือข่ายที่แยกกันมากกว่าสามหมื่นห้าพัน? มันใช้งานไม่ได้
MikeyB

12

คุณคิดผิดว่า YouTube (หรือ Google) มีเซิร์ฟเวอร์เพียงเครื่องเดียว inforgraphic นี้อาจช่วยแสดงขนาดของระบบที่ให้บริการนั้น

แม้ว่าคุณจะมีอยู่เพียงจุดเดียวคุณก็สามารถมีเซิร์ฟเวอร์ได้มากกว่าหนึ่งเครื่องในชื่อเดียวและแม้กระทั่ง IP โดยใช้เครื่องมือเช่น load balancer และทั้งหมด

อย่างไรก็ตาม Google มีจุดที่น่ากลัวมากมายและใช้เครื่องมือเช่น AnyCast ซึ่งเป็นเทคนิคในการเผยแพร่ IP เดียวกันในหลาย ๆ ที่บนอินเทอร์เน็ตและให้ผู้คนส่งไปยังกลุ่มเซิร์ฟเวอร์ที่อยู่ใกล้ที่สุดเพื่อเป็นเจ้าของโครงสร้างพื้นฐาน


1
Google ใส่เซิร์ฟเวอร์นับล้านทั่วโลกอย่างไร พวกเขาเช่าเซิร์ฟเวอร์หรือไม่ พวกเขาจะรักษาความปลอดภัยของข้อมูลในการจัดการเซิร์ฟเวอร์บุคคลที่สามเหล่านั้นทั้งหมดได้หรือไม่
user1034912

2
พวกเขาเป็นเจ้าของทุก ๆ คน อย่างจริงจังพวกเขาซื้อ - ดีทำวันนี้ - พวกเขา ค่าใช้จ่ายเท่าที่คุณจะจินตนาการในบางวิธี แต่น้อยกว่าในคนอื่น ๆ
Daniel Pittman

1
Investors.google.com/financial/tables.htmlอาจช่วยได้ Q4, 2011, 10,000-ish ... ล้านดอลลาร์เข้ามาอย่างจริงจังพวกเขาอยู่ในระดับที่คุณไม่สามารถจินตนาการ
Daniel Pittman

2
@ user1034912 - ใช่มันส่าย แต่นี่คือGoogleดังนั้นทำไมจึงไม่นรก มีดาต้าเซ็นเตอร์นับพันทั่วโลก Google เกิดขึ้นเพื่อดำเนินการกับส่วนเล็ก ๆ ของพวกเขา
tombull89

1
@Tomtom - ทำไมมันไม่ยากที่จะเชื่อสำหรับผู้ใช้ที่ไม่คุ้นเคยกับเทคโนโลยีเซิร์ฟเวอร์ เป็นเรื่องที่หยาบคายและน่ารังเกียจอย่างยิ่งที่จะบอกว่าคนที่ไม่รู้ว่า Google มีเซิร์ฟเวอร์นับร้อยอยู่ใต้ก้อนหิน ออกไปข้างนอกและถามผู้ที่ไม่ได้ใช้เทคโนโลยีเป็นประจำและฉันรับประกันว่าพวกเขาไม่ทราบขนาดของเซิร์ฟเวอร์ของ Google หรือสิ่งที่พวกเขาเป็น นอกจากนี้คนทั่วไปเรียกดูงบดุลตามปกติหรือไม่ คุณต้องอ่านข่าวทั้งหมดเกี่ยวกับศูนย์ข้อมูลหรือไม่? สุจริตฉันไม่สนใจว่าคุณมีตัวแทนมากแค่ไหน แต่หยาบคายไม่สุภาพและดูถูกทำให้คุณไม่มีที่ในชีวิต
DMan

3

ฉันจะสัมผัสกับเครือข่ายของสิ่งต่าง ๆ เล็กน้อย: Google มีจุดยืน (PoP) ในศูนย์ข้อมูลที่ไม่ซ้ำกัน 73 แห่งทั่วโลก (ไม่รวมถึงของตัวเอง) พวกเขาเป็นสมาชิกคนหนึ่งของ69 การแลกเปลี่ยนอินเทอร์เน็ตที่ไม่ซ้ำกัน Google อยู่ในดาต้าเซ็นเตอร์และจุดแลกเปลี่ยนอินเทอร์เน็ตมากกว่าเครือข่ายอื่น ๆ ที่ระบุไว้ใน peeringdb

ความสามารถในการแลกเปลี่ยนอินเทอร์เน็ตโดยรวมของ Google คือ> 1.5Tbps และสำรองไว้ที่ 1.5Tbps สำหรับเครือข่ายที่มีปริมาณการใช้งาน> 100Mbps กับ Google แต่น้อยกว่าที่ฉันคาดเดาประมาณ 2-3Gbps หลังจากที่คุณมี'ปริมาณที่เพียงพอ'คุณจะถูกย้ายไปยัง peering ส่วนตัว (PNI)

นอกจาก Internet Exchange peering และ peering ส่วนตัว (ด้วย AS15169) แล้ว YouTube ยังมีเครือข่ายการขนส่ง: AS43515 และเครือข่ายอื่นที่ฉันคิดว่าใช้สำหรับ peering / overflow แบบเสียเงิน AS36040 Google ยังดำเนินการกับเซิร์ฟเวอร์Google Global Cacheเพื่อให้ผู้ให้บริการอินเทอร์เน็ตสามารถปรับใช้ภายในเครือข่ายของตนได้มากยิ่งขึ้น (ข้อมูลจาก peeringdb, bgp.he.net)

จากประสบการณ์ของฉันฉันเชื่อว่า YouTube ใช้มากกว่าตำแหน่งทางภูมิศาสตร์ IP หรือ Anycast ในการเลือกตำแหน่งที่ตั้งเพื่อแสดงวิดีโอจาก

Google ทำงานเครือข่ายกระดูกสันหลังขนาดใหญ่ทั่วโลกที่พวกเขาเส้นใยสีดำของตัวเองที่พวกเขาได้ทุนสายเคเบิลเรือดำน้ำ ปริมาณการเข้าชมที่ YouTube สร้างนั้นมีมาก! ฉันเดาว่า YouTube มีปริมาณการใช้งานสูงสุด> 12Tbps Google แสดงอย่างน้อย 7% (และอาจมากกว่า> 10%) ของปริมาณการใช้อินเทอร์เน็ตระหว่างโดเมนทั้งหมด

ดังนั้นในการตอบคำถามของคุณจากมุมมองของเครือข่ายในการปรับขนาดเช่น YouTube คุณต้องลงทุนมหาศาลในเครือข่ายของคุณ - จากไฟเบอร์ในพื้นดินไปจนถึงเกียร์ WDM และเราเตอร์ คุณต้องรับเนื้อหาและเครือข่ายให้ใกล้เคียงที่สุดกับผู้ใช้ของคุณ ซึ่งมักจะหมายถึง peering, IXs และอาจเป็นบิตของการขนส่ง คุณต้องสามารถบอกผู้ใช้อย่างชาญฉลาดว่าจะให้รับเนื้อหาจากที่ไหนเพื่อให้ปริมาณการใช้ข้อมูลมีการกระจายอย่างสม่ำเสมอและราคาถูกที่สุด และแน่นอนคุณต้องมีโครงสร้างพื้นฐานเซิร์ฟเวอร์ขนาดใหญ่เพื่อจัดเก็บประมวลผลแปลงและส่งมอบการดู 4 พันล้านครั้งต่อวัน!

หากคุณอยากรู้เกี่ยวกับฝั่งเซิร์ฟเวอร์ฉันเขียนโพสต์บล็อกซึ่งแบ่งภาพดาต้าเซ็นเตอร์ที่วางจำหน่ายเมื่อเร็ว ๆ นี้


Btw คุณทำงานให้กับ Google หรือไม่
Pacerier

2

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับระบบขนาดใหญ่และเทคโนโลยีที่ บริษัท เหล่านี้ใช้อยู่แหล่งที่ดีที่สุดในขณะนี้คือhttp://highscalability.com

บริษัท ที่ใหญ่ที่สุดเช่น Google หรือ Akamai พวกเขามักจะมีองค์ประกอบที่พวกเขาเขียน / สร้างด้วยตัวเอง (เช่น Akamai พัฒนาเว็บเซิร์ฟเวอร์สำหรับบริการของพวกเขา)


ข้อมูลบางส่วนนั้นล้าสมัยไปแล้ว ....
Pacerier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.