CDN фактически выдают данные клиенту или передают URL контента?

837
zengr

Мне любопытно, скажем, например:

Facebook является клиентом Akamai CDN.

Итак, теперь, когда я захожу на свою страницу в Facebook, я вижу весь контент (видео, изображение, текст и т. Д.) И нажимаю на видео, чтобы просмотреть его. Теперь Facebook является клиентом Akami для получения контента.

Итак, когда делается запрос от Facebook к Akami, Akamai высылает видео / изображение из своих центров обработки данных в центры обработки данных Facebook, где они находятся некоторое время (в зависимости от их эвристики), и сбрасывается через некоторое время?

Или я вижу это видео (транслируемое) прямо с сервера Akamai?

Update1

Данные постоянно хранятся в CDN (согласовано), но также являются копией содержимого, отправляемого в дата-центры Facebook.

UPDATE2

Итак, согласно ответу Джоша, это изображение архитектуры Akamai, могу ли я сказать, что «IMAGE» на самом деле хранится на сервере akamai, а ссылка на изображение (URL) находится на HTML-странице Facebook, которую мы видим?

CDN фактически выдают данные клиенту или передают URL контента?

1
@zengr: Да, это верно, HTML-код приходит с Facebook и ссылается на изображения, хранящиеся на серверах Аками. Josh 14 лет назад 1

3 ответа на вопрос

2
Roy Rico

Конфигурация Akamai легко настраивается, но обычно вы можете определить, какой тип контента вы хотите хранить и как долго (в сети Akamai и в браузере пользователя). Akamai также имеет многослойную систему, так что если пользователь делает запрос с локального сервера Akamai, если у него нет содержимого, он запрашивает его с родительского уровня. Если у этого родителя его нет, родительский уровень запросит его у уровня деда. После этого уровень прародителя Акамаи будет запрашивать его у источника. Как только он извлекает контент и отправляет его пользователю, он сохраняет его в кеше (на каждом уровне). Любые последующие запросы обрабатываются сетью Akamai. Если этот контент не запрашивается снова, он в конечном итоге удаляется из кэша. Если это занятый сервер Akamai,

Я не верю, что Akamai имеет возможность хранить пользовательский контент на своих серверах, их сеть не предназначена для этого. Когда вы загружаете изображение в Facebook, вы загружаете его на сервер Facebook (я помню, как читал технический документ в пользовательской файловой системе Facebook для обработки запросов изображений).

На обычном веб-сайте Akamai может отбирать до 95% трафика от источника в зависимости от конфигурации. Что-то вроде этого, я не думаю, что это будет так высоко, но любой процент поможет.

На первый взгляд, я бы предположил, что Akamai не сможет сильно помочь, к элементам профиля обычных пользователей недостаточно доступа, чтобы что-то изменить. Но, как я думаю об этом, если вы довольно популярный пользователь в своем регионе, кэширование ваших фотографий на локальном сервере Akamai может помочь, когда другие люди получают доступ к вашему профилю FB через тот же локальный сервер Akamai.

Реальная выгода от использования Akamai была бы на странице знаменитости, или на странице компаний, или просто на статических элементах (css / js) сайта Facebook. Что-нибудь большого объема

Итак, учитывая все это, я предполагаю, что для профилей обычных пользователей, когда вы загружаете их в Facebook, они хранятся на серверах Facebook. Когда вы запрашиваете их, Akamai возвращается на исходные серверы Facebook, извлекает их и помещает в кеш. Если ваш сосед отправится посмотреть на них, они будут подключены к одному и тому же провайдеру (в идеале) и отключат его от кеш-сервера Akamai, который (в идеале) находится у вашего провайдера.

Несмотря на это, я ничего не знаю о конфигурации Akamai в Facebook, поэтому у них может быть что-то совершенно нестандартное и выходящее за рамки нормы.

1
Josh

Обычно это работает так, что весь контент хранится на основном сервере (в вашем примере Facebook), а сеть CDN кэширует копию запрашиваемых данных. Таким образом, вы запрашиваете его у Akamai, который запрашивает у Facebook, если они не кэшировали его, или просто обслуживаете его из своего кеша. Поэтому следующий человек, который запрашивает эти данные, получает их из кэша Akamai, что снижает нагрузку на серверы Facebook. Очень похоже на кеш браузера.

Смотрите статью в Википедии об Akamai, а именно:

Akamai прозрачно отражает контент - иногда весь контент сайта, включая HTML, CSS и загрузки программного обеспечения, а иногда и просто мультимедийные объекты, такие как аудио, графика, анимация и видео - с пользовательских серверов. Хотя доменное имя (но не поддомен) одинаково, IP-адрес указывает на сервер Akamai, а не на сервер клиента

Я работал в крупной компании, которая производила «активные» сети CDN, где был центральный сервер, содержащий все медиа и множество серверов доставки контента. Медиа будет загружен на главный сервер, и он свяжется со всеми ведомыми и отправит им новый контент. Но этот тип CDN предназначен для обслуживания контента по каналам связи с высокой пропускной способностью, например, если у вас есть центральный офис и много филиалов. Каждая ветвь имеет быструю сеть Ethernet, поэтому их серверы CDN синхронизируются с центральным сервером через (медленный) интернет. Но это другая концепция от Akamai.

0
Ignacio Vazquez-Abrams

Ресурс существует постоянно (до тех пор, пока клиент не удалит его) в хранилище CDN и извлекается из него по запросу браузера.

Да, я согласен, он постоянно находится в CDN, но копия контента также отправляется в дата-центры Facebook? zengr 14 лет назад 0
@zengr: контент * создается * на серверах Facebook, а CDN отражает его оттуда Josh 14 лет назад 0
Это не отвечает на его вопрос о загрузке контента. Roy Rico 14 лет назад 0