
Мне любопытно, скажем, например:
Facebook является клиентом Akamai CDN.
Итак, теперь, когда я захожу на свою страницу Facebook, я вижу весь контент (видео, изображение, текст и т. д.) и нажимаю на видео, чтобы просмотреть его. Теперь Facebook является клиентом Akami для получения контента.
Итак, когда Facebook отправляет запрос в Akami, сбрасывает ли Akamai видео/изображение из своих центров обработки данных в центры обработки данных Facebook, где они хранятся некоторое время (в зависимости от их эвристики) и сбрасываются через некоторое время?
Или я вижу это видео (транслирую его) непосредственно с сервера Akamai?
ОБНОВЛЕНИЕ1
Данные постоянно находятся в CDN (согласовано), но также являются копией контента, отправляемого в центры обработки данных Facebook.
ОБНОВЛЕНИЕ2
Итак, согласно ответу Джоша, это изображение архитектуры Akamai. Могу ли я сказать, что «ИЗОБРАЖЕНИЕ» на самом деле хранится на сервере Akamai, а ссылка на изображение (URL) находится на HTML-странице Facebook, которую мы видим?
решение1
Конфигурация Akamai очень гибко настраивается, но обычно вы можете определить, какой тип контента вы хотите хранить и как долго (в сети Akamai и в браузере пользователя). Akamai также имеет многоуровневую систему, так что если пользователь делает запрос с локального сервера Akamai, если у него нет контента, он запросит его с родительского уровня. Если у этого родителя его нет, родительский уровень запросит его с прародительского уровня. После этого прародительский уровень Akamai запросит его с источника. После того как он извлечет контент и отправит его пользователю, он сохранит его в кэше (на каждом уровне). Все последующие запросы обрабатываются сетью Akamai. Если этот контент не запрашивается снова, он в конечном итоге очищается из кэша. Если это загруженный сервер Akamai, неиспользуемый контент будет очищен быстрее, чем если бы он не был так загружен.
Я не верю, что Akamai имеет возможность хранить пользовательский контент на своих серверах, их сеть не предназначена для этого. Когда вы загружаете изображение на Facebook, вы загружаете его на сервер Facebook (я помню, как читал whitepaper на Facebookпользовательская файловая системадля обработки запросов изображений).
На обычном сайте Akamai может отнять до 95% трафика от источника, в зависимости от конфигурации. На чем-то вроде этого, я не думаю, что это будет так высоко, но любой процент поможет.
Сначала я бы предположил, что Akamai не сможет помочь, элементы профиля обычного пользователя недостаточно доступны, чтобы что-то изменить. Но когда я думаю об этом больше, если вы довольно популярный пользователь в своем регионе, кэширование ваших фотографий на локальном сервере Akamai может помочь, когда другие люди получают доступ к вашему профилю FB через тот же локальный сервер Akamai.
Реальная выгода от использования Akamai будет на странице знаменитости, или на странице компании, или просто на статических элементах (css/js) сайта Facebook. Все, что имеет большой объем
Итак, учитывая все это, я предполагаю, что профили обычных пользователей, когда вы загружаете их на Facebook, хранятся на серверах Facebook. Когда вы запрашиваете их, Akamai возвращается на исходные серверы Facebook, извлекает их и помещает в кэш. Если ваш сосед захочет посмотреть их, они будут у того же провайдера (в идеале) и извлекут их с кэш-сервера Akamai, который находится (в идеале) у вашего провайдера.
При всем при этом я ничего не знаю о конфигурации Akamai в Facebook, так что у них может быть что-то совершенно индивидуальное и выходящее за рамки нормы.
решение2
Обычно это работает так: весь контент хранится на основном сервере (Facebook в вашем примере), а сеть CDN кэширует копию запрашиваемых данных. Поэтому вы запрашиваете их у Akamai, который запрашивает их у Facebook, если они не кэшированы, или просто выдает их из своего кэша. Таким образом, следующий человек, который запрашивает эти данные, получает их из кэша Akamai, снижая нагрузку на серверы Facebook. Очень похоже на кэш браузера.
Видетьстатья в Википедии об Akamai, конкретно:
Akamai прозрачно отражает контент — иногда весь контент сайта, включая HTML, CSS и загрузки программного обеспечения, а иногда только медиа-объекты, такие как аудио, графика, анимация и видео — с серверов клиентов. Хотя доменное имя (но не поддомен) то же самое, IP-адрес указывает на сервер Akamai, а не на сервер клиента
Я работал в крупной компании, которая производила «активные» сети CDN, где был центральный сервер, содержащий все медиа, и множество серверов доставки контента. Медиа загружались на главный сервер, а он связывался со всеми подчиненными и отправлял им новый контент. Но этот тип CDN предназначен для обслуживания контента по известным каналам с высокой пропускной способностью — например, если у вас есть центральный офис и много филиалов. У каждого филиала есть быстрая сеть Ethernet, поэтому их серверы CDN синхронизируются с центральным сервером через (медленный) Интернет. Но это другая концепция от Akamai.
решение3
Ресурс существует постоянно (пока клиент не удалит его) в хранилище CDN и извлекается оттуда по запросу браузера.