Слайд 2Содержание
Видео: организация файлового хранилища.
Вещания: ретрансляция.
Географическая распределенность: подход.
Географически распределенные видеофайлы и вещания.
Слайд 3Видеофайлы
Объем хранения:
на хранение 1 секунды видео требуется ~ 250 Кб (FLV, оригинал,
3GP, …);
средняя длительность видео ~ 4 минут;
для 1 млн. видео необходимо 60 Тб.
Одно видео = 5 файлов + 15 картинок.
Слайд 4Файловый сервер
Файловый сервер
(2-4 Тб, RAID)
просмотр видео, HTTP-streaming
«Морда» /
Сервер
кодирования
WebDAV
удаление, создание,
копирование файлов
и т.п.
Слайд 5Кластер файловых серверов
Какой сервер выбрать?
diskfree
нагрузка
случайно
Файловый
сервер №1
Файловый
сервер №2
Файловый
сервер №n
…
Слайд 6Файловый сервер
Отдача контента (статика):
FLV-streaming (lighttpd, nginx);
Оригинал, 3GP, MPEG-4 – любой HTTP-сервер.
Управление файлами
(WebDAV):
Apache, nginx, …
Доступ к файлам:
Любой WebDAV-клиент (PHP, Python, …)
Слайд 7Бэкап данных
Объем данных не позволяет использовать традиционные схемы.
Решение - кросс-бэкап:
Бэкап 2
Файлы 1
Бэкап
Слайд 8Кросс-бэкап
Основа – rsync.
Проблема вычисления свободного места:
периодичность выполнения бэкапа.
Слайд 9Вещания
Клиент: Adobe Flash Player;
Сервер: Adobe FMS, pyFMS, …;
Протокол: RTMP;
Проблема – «мультиплицирование» потока
на количество зрителей вещания.
Слайд 11Геораспределенность
Контент должен быть «близко» к потребителю:
региональное развитие (РФ);
международные рынки.
Проблемы:
сетевые каналы (пропускная способность);
разница
в стоимости локального и внешнего трафика.
Слайд 12Посетитель
IP-адрес
Посетитель
Географическое
положение:
- страна;
- регион;
- город.
БД GeoIP
Слайд 13Ресурс
Ресурс
Сервер
Географическое
положение 1
Копии
ресурса
Зеркалирующие
сервера
Географическое
положение 2
Географическое
положение 3
Слайд 14Вычисление расстояний
Москва
Киев
Харьков
Хьюстон
Таллин
Пермь
Находка
20
5
15
40
30
5
10
20
15
Слайд 15Вычисление расстояний
Поиск кратчайшего пути во взвешенном орграфе.
Фиксированное количество концов пути: расположение серверов.
Слабосвязанный
граф, кеширование вычисленных расстояний.
Слайд 16Выбор копии ресурса
Из мест расположения ресурса и его копий выбираем ближайший к
пользователю;
Если таких мест несколько – выбираем случайно (в соответствие с весом).
Слайд 17Начисление бонусов
Всем местам, где ресурс отсутствует сегодня, начисляем бонус:
где k – коэффициент,
определяющий скорость копирования ресурсов.
Слайд 18Копирование ресурса
Как только бонус ресурса относительно места превышает некоторый предел:
выполняется копирование ресурса
на любой из серверов, расположенных в данном географическом месте.
Слайд 19Гео: видеофайлы
Ресурс – видеофайл;
Первичная копия ресурса – файл, расположенный на файловом сервере;
Копии
ресурса – копии файла, расположенные на зеркалирующих файловых серверах;
Обращение к ресурсу – просмотр видео, скачивание;
Копирование ресурса – копирование файла на зеркалирующий файловый сервер.
Слайд 20Гео: вещания
Ресурс – вещание;
Первичная копия ресурса – вещание на сервере, к которому
подключен автор вещания;
Копии ресурса – ретрансляция вещания;
Обращение к ресурсу – «вход» в вещание;
Копирование ресурса – создание нового источника ретрансляции.
Слайд 21Заключение
Результат:
контент надежно хранится;
хранилище масштабируется;
контент «приближается» к пользователю по мере необходимости.
Альтернативы:
CDN;
распределенные файловые
системы.