
Tengo curiosidad, digamos por ejemplo:
Facebook es el cliente de Akamai CDN.
Entonces, ahora, cuando inicio sesión en mi página de Facebook, veo todo el contenido (video, imagen, texto, etc.) y hago clic en un video para verlo. Ahora, Facebook es el cliente de Akami para obtener el contenido.
Entonces, cuando Facebook realiza una solicitud a Akami, ¿Akamai descarga el video/imagen de sus centros de datos a los centros de datos de Facebook donde residen por un tiempo (dependiendo de su heurística) y los desecha después de un tiempo?
¿O veo ese vídeo (lo transmito) directamente desde el servidor de Akamai?
ACTUALIZACIÓN1
Los datos residen en CDN de forma permanente (acordado), pero también son una copia del contenido enviado a los centros de datos de Facebook.
ACTUALIZACIÓN2
Bien, según la respuesta de Josh, esta imagen de la arquitectura de Akamai, ¿puedo decir que la "IMAGEN" en realidad está almacenada en el servidor de Akamai y la referencia de la imagen (la URL) está en la página HTML de Facebook que vemos?
Respuesta1
La configuración de Akamai es altamente configurable, pero normalmente puedes definir qué tipo de contenido quieres almacenar y durante cuánto tiempo (en la red de Akamai y en el navegador del usuario). Akamai también tiene un sistema de niveles múltiples, de modo que si un usuario realiza una solicitud desde un servidor local de Akamai, si no tiene el contenido, lo solicitará desde un nivel principal. Si ese padre no lo tiene, el nivel principal lo solicitará al nivel abuelo. Después de eso, el nivel abuelo de Akamai lo solicitará desde el origen. Una vez que extrae el contenido y lo envía al usuario, lo almacenará en caché (en cada nivel). Cualquier solicitud posterior es manejada por la red de Akamai. Si ese contenido no se solicita nuevamente, eventualmente se elimina del caché. Si se trata de un servidor Akamai ocupado, el contenido no utilizado se eliminará más rápido que si no está tan ocupado.
No creo que Akamai tenga la capacidad de almacenar contenido de usuario en sus servidores, su red no está diseñada para eso. Cuando subes una imagen a Facebook, la estás subiendo al servidor de Facebook (recuerdo haber leído un documento técnico sobre Facebooksistema de archivos personalizadopara manejar solicitudes de imágenes).
En un sitio web normal, Akamai podría eliminar hasta el 95% del tráfico del origen, dependiendo de la configuración. En algo como esto, no creo que sea tan alto, pero cualquier porcentaje ayudaría.
A primera vista, supondría que Akamai no podría ayudar mucho, ya que no se accede lo suficiente a los elementos del perfil de un usuario normal como para marcar la diferencia. Pero mientras pienso más en ello, si eres un usuario bastante popular en tu área, tener tus imágenes almacenadas en caché en el servidor local de Akamai puede ayudar cuando otras personas acceden a tu perfil de Facebook a través del mismo servidor local de Akamai.
El beneficio real de usar Akamai estaría en la página de una celebridad, o en la página de una empresa, o simplemente en los elementos estáticos (css/js) del sitio de Facebook. Cualquier cosa de alto volumen
Entonces, dado todo eso, mi suposición es que para los perfiles de usuarios normales, cuando los subes a Facebook, se almacenan en los servidores de Facebook. Cuando los solicita, Akamai regresa a los servidores de origen de Facebook, los extrae y los guarda en caché. Si su vecino va a verlos, estarían en el mismo ISP (idealmente) y los sacaría del servidor de caché Akamai que reside (idealmente) en su ISP.
Dicho todo esto, no sé nada de la configuración de Akamai de Facebook, por lo que puede que tengan algo completamente personalizado y fuera de lo normal.
Respuesta2
Generalmente, la forma en que funciona es que todo el contenido se almacena en el servidor principal (Facebook en su ejemplo) y la red CDN almacena en caché una copia de los datos que se solicitan. Entonces lo solicita a Akamai, que lo solicita a Facebook si no lo tiene en caché, o simplemente lo sirve desde su caché. Entonces, la siguiente persona que solicita esos datos los obtiene del caché de Akamai, lo que reduce la carga en los servidores de Facebook. Muy parecido al caché de un navegador.
Verel artículo de Wikipedia sobre Akamai, específicamente:
Akamai refleja de forma transparente el contenido (a veces todo el contenido del sitio, incluidos HTML, CSS y descargas de software, y a veces solo objetos multimedia como audio, gráficos, animación y vídeo) de los servidores de los clientes. Aunque el nombre de dominio (pero no el subdominio) es el mismo, la dirección IP apunta a un servidor de Akamai en lugar del servidor del cliente.
Trabajé en una gran empresa que producía redes CDN "activas", donde había un servidor central que contenía todos los medios y muchos servidores de entrega de contenido. Los medios se cargarían en el servidor maestro y se pondría en contacto con todos los esclavos y les enviaría el nuevo contenido. Pero este tipo de CDN está diseñado para servir contenido a través de enlaces conocidos de alto ancho de banda, por ejemplo, si tiene una oficina central y muchas sucursales. Cada sucursal tiene una red Ethernet rápida, por lo que sus servidores CDN se sincronizan con el servidor central a través de Internet (lento). Pero este es un concepto diferente al de Akamai.
Respuesta3
El recurso existe permanentemente (hasta que el cliente lo elimina) dentro del almacenamiento de la CDN y se recupera desde allí cuando lo solicita un navegador.