¿Tecnologías que permiten la distribución a escala de YouTube?


34

Youtube como sabemos, es masivo. Tiene miles de usuarios concurrentes que transmiten al menos 2 megabytes por video. Obviamente, eso llega a ser mucho tráfico ... demasiado para cualquier servidor.

¿Qué tecnologías de red permiten impulsar 4 mil millones de videos por día?

Respuestas:


51

Escalando en el backend

En una configuración muy simple, una entrada DNS va a una IP que pertenece a un servidor. Todos en todo el mundo van a esa sola máquina. Con suficiente tráfico, eso es demasiado para manejar mucho antes de llegar a ser del tamaño de YouTube. En un escenario simple, agregamos un equilibrador de carga. El trabajo del equilibrador de carga es redirigir el tráfico a varios servidores de fondo mientras aparece como un servidor.

Con tantos datos como tiene YouTube, sería demasiado esperar que todos los servidores puedan servir todos los videos, por lo que tenemos que agregar otra capa de indirección: fragmentación . En un ejemplo artificial, un servidor es responsable de todo lo que comienza con "A", otro posee "B", y así sucesivamente.

Acercando el borde

Eventualmente, sin embargo, el ancho de banda se vuelve intenso y estás moviendo MUCHOS datos a una habitación. Entonces, ahora que somos súper populares, lo sacamos de esa habitación. Las dos tecnologías que importan aquí son las Redes de distribución de contenido y Anycasting .

Donde tengo estos grandes archivos estáticos que se solicitan en todo el mundo, dejo de señalar enlaces directos a mis servidores de alojamiento. Lo que hago en cambio es poner un enlace a mi servidor CDN. Cuando alguien pide ver un video, me lo pide a mi servidor CDN. El CDN es responsable de tener el video, solicitar una copia del servidor de alojamiento o redirigirme. Eso variará según la arquitectura de la red.

¿Cómo es útil esa CDN? Bueno, una IP puede pertenecer a muchos servidores que se encuentran en muchos lugares de todo el mundo. Cuando su solicitud abandona su computadora y va a su ISP, su enrutador asigna la mejor ruta (más corta, más rápida, menos costosa ... cualquier métrica) a esa IP. A menudo, para un CDN, estará en o al lado de su red de Nivel 1 más cercana .

Entonces, solicité un video de YouTube. La máquina real en la que se almacenó es al menos iad09s12.v12.lscache8.c.youtube.comy tc.v19.cache5.c.youtube.com. Los que aparecen en la fuente de mi página web que estoy viendo están provistos por algún tipo de servidor de indexación. Ahora, desde Maine, encontré que el servidor tc19 estaba en Miama, Florida. Desde Washington, encontré que el servidor tc19 estaba en San José, California.


44
Su ejemplo artificial de fragmentación es el mejor que he visto. Todo el mundo parece hacer una gran complicación con este simple concepto por alguna razón.
kizzx2

@ Jeff, sería genial si agregas algunas citas o dejas en claro que esto es especulación del usuario final.
Pacerier

23

Se utilizan varias técnicas para sitios grandes.

www.youtube.com -> cualquier número de direcciones IP

Veamos en 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

Entonces, www.youtube.com podría ir a varias direcciones IP.

direcciones IP emitidas

Una sola IP podría ser manejada por cualquier número de sistemas autónomos (una red en Internet) simultáneamente. Por ejemplo, muchos de los servidores DNS raíz, así como el 8.8.8.8servidor DNS de Google, se emiten en muchos puntos del mundo. La idea es que si estás en los EE. UU., Accedes a la red de EE. UU.

medios procedentes de diferentes servidores

El hecho de que esté www.youtube.comactivado no significa que todo el contenido tenga que venir del mismo servidor. Justo en este sitio, los recursos estáticos se sirven desde en sstatic.netlugar de serverfault.com.

Por ejemplo, si miramos el PSA Slave Leia de Kaley Cuoco, descubrimos que los medios son atendidos por v10.lscache5.c.youtube.com.

múltiples conexiones a internet

Te aseguro que YouTube tiene más de una conexión a Internet. A pesar de todas las otras técnicas, incluso si Youtube realmente fuera un solo sitio y un solo servidor, en teoría podría tener conexiones con todas las demás redes a las que servía video. En el mundo real, eso no es posible, por supuesto, pero considere la idea.

Cualquiera o todas estas ideas (¡y más!) Se pueden usar para apoyar una Red de entrega de contenido . Lea sobre ese artículo si desea saber más.


"En teoría, podría tener conexiones con todas las redes a las que servía video. En el mundo real eso no es posible, por supuesto, pero considere la idea". ¿Por qué no es posible en el mundo real? Puede suscribirse a muchos proveedores de Internet
user1034912

¿Realmente quieres tener conexiones independientes con más de treinta y cinco mil redes separadas? No es practico.
MikeyB

12

Te equivocas al imaginar que YouTube (también conocido como Google) tiene un solo servidor; Esta información podría ayudar a ilustrar la escala del sistema que respalda ese servicio.

Incluso si solo tiene un punto de presencia, puede tener absolutamente más de un servidor detrás de un solo nombre, e incluso IP, utilizando herramientas como equilibradores de carga y todo.

Sin embargo, Google tiene una gran cantidad de puntos de presencia y utiliza herramientas como AnyCast, una técnica para publicar la misma IP en varios lugares de Internet, y hacer que la gente sea enrutada al grupo de servidores más cercano que la posee, para respaldar la infraestructura.


1
¿Cómo pone Google un millón de servidores en todo el mundo? ¿Alquilan los servidores? ¿No sería difícil para ellos mantener la seguridad de los datos administrando todos esos servidores de terceros?
user1034912

2
Son dueños de cada uno de ellos. En serio, los compran, bueno, los hacen en estos días. Esto cuesta tanto como podría imaginar, en algunos aspectos, pero menos en otros.
Daniel Pittman

1
investor.google.com/financial/tables.html podría ayudar; Q4, 2011, 10,000-ish ... entraron millones de dólares. En serio, están en una escala que no puedes imaginar.
Daniel Pittman

2
@ user1034912: sí, es asombroso. Pero esto es Google , ¿por qué no? Hay miles de centros de datos en todo el mundo, Google opera una pequeña fracción de ellos.
tombull89

1
@Tomtom: ¿Por qué no sería difícil de creer para un usuario que no está familiarizado con la tecnología del servidor? Es grosero y extremadamente ofensivo decir que alguien que no conoce Google tiene cientos de servidores está viviendo bajo una roca. Salga y pregunte a un puñado de no técnicos habituales y le garantizo que no conocen la escala de los servidores de Google ni siquiera cuáles son. Además, ¿las personas normales normalmente navegan por los balances? ¿Siempre tiene que leer todas las noticias sobre centros de datos? Honestamente, no me importa la cantidad de reputación que tengas, pero ser grosero, irrespetuoso y degradante no te lleva a ninguna parte de la vida.
DMan

3

Tocaré un poco el lado de la red: Google tiene un Punto de Presencia (PoP) en 73 centros de datos únicos en todo el mundo (sin incluir el suyo). Son miembros de 69 intercambios únicos de Internet . Google está en más centros de datos y puntos de intercambio de Internet que otras redes enumeradas en peeringdb.

La capacidad total de intercambio de Internet de Google es> 1.5Tbps, y ese 1.5Tbps está reservado para redes con> 100Mbps de tráfico con Google, pero menos de lo que supongo es de 2-3Gbps. Después de tener "volumen suficiente" , se lo traslada a la interconexión privada (PNI).

Además de la interconexión de intercambio de Internet y la interconexión privada (con AS15169), YouTube también opera una red de tránsito: AS43515, y otra red que supongo es para emparejamiento / desbordamiento pagado, AS36040. Google también opera los servidores de Google Global Cache , para que los ISP se implementen aún más localmente dentro de su red. (Datos de peeringdb, bgp.he.net).

Según mi experiencia, creo que YouTube usa mucho más que solo la geolocalización de IP o Anycast para elegir una ubicación desde la que publicar videos.

Google ejecuta una enorme red troncal global, poseen fibra oscura , han financiado cables submarinos . ¡El volumen de tráfico que genera YouTube es enorme! Supongo que YouTube tiene un volumen de tráfico máximo de> 12Tbps. Google representa al menos el 7% (y probablemente> 10%) de todo el tráfico de Internet entre dominios.

Entonces, para responder realmente a su pregunta, desde una perspectiva de red, para escalar como YouTube, debe hacer una inversión masiva en su red, desde la fibra en el suelo hasta el equipo WDM y los enrutadores. Debe tener el contenido y la red lo más cerca posible de sus usuarios. Esto generalmente significa mirar, IXs y quizás un poco de tránsito. Debe poder decirles de forma inteligente a los usuarios de dónde obtener el contenido para mantener el tráfico lo más distribuido y económico posible. Y, por supuesto, ¡debes tener una infraestructura de servidor masiva para almacenar, procesar, convertir y entregar 4 mil millones de visitas al día!

Si tiene curiosidad sobre el lado del servidor, escribí una publicación de blog que desglosa algunas de las imágenes del centro de datos lanzadas recientemente.


Por cierto, ¿trabajas para Google?
Pacerier

2

Si desea saber más sobre los sistemas a gran escala y las tecnologías que utilizan estas empresas, la mejor fuente ahora es http://highscalability.com

Las compañías más grandes como Google o Akamai, siempre tienen componentes que escribieron / crearon ellos mismos. (por ejemplo, Akamai desarrolló un servidor web para sus servicios)


Sin embargo, algunos de los datos están desactualizados ...
Pacerier
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.