• Save
CodeFest 2011. Городецкий Я. — Зачем системному администратору использовать CDN?
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

CodeFest 2011. Городецкий Я. — Зачем системному администратору использовать CDN?

  • 1,211 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,211
On Slideshare
912
From Embeds
299
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 299

http://codefest.ru 291
http://2011.codefest.ru 8

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Зачем системному админстратору использовать CDN? Ярослав Городецкий, CDNvideo
  • 2. Что такое CDN ? CDN – Content Delivery Network (англ.) CDN – территориально-распределенная сеть серверов, служащая для ускорения загрузки контента пользователям интернет-сервисов В трехзвенной архитектуре высоконагруженных проектов CDN работает на уровне frontend-серверов CDN бывают частные (принадлежат крупным контент-провайдерам) и операторские (предоставляют услуги на платной основе контент-провайдерам)
  • 3. Схема работы CDN
  • 4. Выбор CDN- сервера
    • В сетях CDN контент (файлы или потоковое видео) отдаются пользователям с «ближайшего» к ним сервера сети CDN
    • Алгоритм выбора сервера, который считается «ближайшим» - основное «ноу-хау» оператора CDN
    • Применяются следующие схемы выбора ближайшего сервера:
    • базы Geo-IP
    • данные о топологии интернет-сетей и межоператорских связях
    • метрики качества (сетевая задержка, потери пакетов и пр.)
  • 5. Балансировка нагрузки
    • Могут применяться различные способы направления контента на ближайший к пользователю сервер сети CDN :
    • 1. Подстановка IP- адреса ближайшего к пользователю CDN- сервера в ответе DNS -запрос на получение потока или файла, направляемый пользователем на сервер контент-провайдера
    • 2. HTTP- редирект на ближайший к пользователю сервер путем выдачи пользователю кода 304 в ответ на HTTP- запрос
    • 3. IP Anycast – анонсирование нескольких серверов с одним и тем же IP- адресом при BGP- пиринге
    • Наиболее популярным среди операторов CDN является 1- й способ ( DNS- балансировка).
  • 6. DNS- балансировка в CDN
  • 7. Услуги сетей CDN
    • Распространение статического контента (изображения, CSS/JS , клиенты игр и приложений и пр.)
    • Применяется HTTP- кэширование и зеркалирование по Rsync
    • Проведение онлайн-трансляций видео- и аудиопотоков (Live Streaming)
    • Протоколы вещания: RTMP , RTSP, Apple HTTP Live Streaming
    • Доставка потоков в CDN: RTMP Publish, RTSP-cam, MPEG_TS Publish
    • Поддерживается технология Adobe Dynamic Streaming для подстройки битрейта видео под доступную полосу
    • Есть возможность самостоятельно формировать поток из загруженных видеороликов
    • Потоковое вещание видео и аудио по запросу ( VOD Streaming )
  • 8. Инструменты клиента
    • API
    • API для очистки кэша
    • API по авторизации доступа к контенту (перед тем, как отдать файл или поток пользователю, CDN направляет запрос Заказчику (HTTP Head с дополнительной информацией о пользователе)
    • API для мониторинга нагрузки (количество видеопотоков, статус)
    • API для перекодирования видео
    • Интерфейс для заказа услуг и связи с технической поддержкой
    • Интерфейс статистики использования услуг
  • 9. Раздача статики c CDN
    • Распространение статики через CDN может ускорить загрузку сайтов с большим количеством объектов на несколько секунд (пропорционально количеству объектов на странице)
    • Клиентам выделяется заданный объем кэша (определяется клиентом исходя из объема «горячего» контента) и время жизни контента по умолчанию
    • Управлять временем жизни контента можно с помощью HTTP- заголовков Cache-Control и Expires, выставленных на сервере клиента
    • Клиенты могут удалять файлы из кэша с помощью API
  • 10. Настройка раздачи статики
    • Сообщить CDN-оператору данные о том, где находится контент, который необходимо распространить через CDN (контент должен быть доступен по домену 3-го уровня)
    • Пример: http://origin.customer.ru
    • 2. Получить от CDN-оператора ссылку для доступа к своему контенту, размещенному на CDN
    • Пример: http://customer.cdnvideo.ru
    • 3. (опционально) Замаскировать использование CDN, установив в настройках своего домена CNAME-запись, ссылающуюся на домен CDN-провайдера
    • Пример: cdn.customer.ru. CNAME customer.cdnvideo.ru.
    • 4. Сослаться на контент, размещенный на CDN, на своем сайте , во flash- плеере, или в своем приложении (для мобильных/для социальных сетей)
    • Пример: http://cdn.customer.ru
  • 11. API для очистки кэша
    • Запрос на просмотр содержимого кэша
    • http://api.cdnvideo.ru:8888/0/list?id=num_name&type=http&object=filename
    • 2. Запрос на удаление объектов из кэша
    • http://api.cdnvideo.ru:8888/0/purge?id=num_name&type=http&object=OBJECT*
    • * Удаляемый объект (OBJECT) может быть именем файла или регулярным выражением
    • 3. Ответ об удаление файла из кэша
    • HTTP/1.1 200 OK
    • X-cdn-command: 0 **
    • X-cdn-comment: OK
    • * * 0 – успешное удаление объекта, 1..9 – ошибка удаления
  • 12. Задачи CDN
    • Распространение больших объемов исходящего трафика
    • Обеспечение работы интернет-ресурсов при скачкообразном росте нагрузки (т.н. хабраэффектами)
    • Обеспечение отказоустойчивости при загрузке «тяжелого» контента (фильмы, клиенты игр и пр.)
    • Увеличение скорости работы сайтов за счет ускорения загрузки статического контента
    • Защита интернет-видео от несанкционированного просмотра и распространения
    • Проведение трансляций видео через интернет для широкой аудитории
  • 13. Тарификация услуг CDN
    • Услуги операторов CDN тарифицируются ежемесячно по следующим параметрам:
    • объем исходящего трафика
    • объем хранимых на CDN данных
    • дополнительные услуги (например, перекодирование видео)
    • Как правило, операторы CDN не тарифицируют:
    • полоса пропускания для исходящего трафика
    • входящий трафик
    • число CPU Cycles
  • 14. Вопросы? Ярослав Городецкий, CDNvideo [email_address] +7 (495) 780-92-38