6. Аудитория и объемы
10 млн уникальных смотрителей в день
60 млн просмотров в день
20 млн классов в день
50 тысяч загрузок видео в день
28.10.13
6
7. Видео в цифрах
30 млн роликов в базе
Исходящий трафик до 100 Гб/сек
Загружается 5 ТБ видео в день
Входящий трафик до 2 Гб/сек
Сохраняем 3 * 2 ТБ в день
8. Наш видео парк
Хранилище – 70 серверов, 5 ПБ
DB + Cache – 30 серверов
Трансформация – 60 серверов
Раздача и загрузка – 30 серверов
9. C чего все началось
• Решили делать видео на ОК в
2011
• Запустили на платформе
сервиса Видео@mail.ru
• А сервис стал расти…
10. Новые требования – новая платформа
• Надежность
• Возобновляемая загрузка
видео
• Воспроизведение видео с
любого момента времени
• Поддержка мобильных
устройств
• Эксплуатация - любовь к Java
36. Решение для кэширования
Большие объемы (~100Gb)
+
Не оказывает влияния на GC
= Off-heap memory
Варианты решения
• Native код
• Direct ByteBuffer
• Memory-mapped files
• Unsafe + shared memory
37. Раздача – результат
80%
download
eth
4 x 10 Gbps
20%
eth
RAM – 96Gb
1 x 10 Gbps
persistent
storage
SSD - 4Tb
37
Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz
40. Video pseudo-streaming
MOOV atom
data1
data2
data m
data N
Fast start
v0 a0
v1 a1
vm am
vN aN
start time
parameter
in the
request
URL
MOOV
data m
HTTP
byterange
request
data N
mp4parser
data m
data N
41. Основный вехи
октябрь 2010
январь 2011
2011 - 2012
Первый комит
Запуск на платформе
видео@mail.ru
Запуск с видео Rutube + Youtube
июнь 2012
Загрузка пользовательского видео
в платформу видео@mail.ru
январь 2013
Первое упоминание о своей видео
платформе
май 2013
Платформа видео запущена
41
41
43. Технологии и видео конвейер
Apache Tomcat
OBS
Zookeeper
upload
server
one-nio
download
server
temp
storage
OBS
persistent
storage
ffmpeg
transformation
server
44. Результаты
• Работоспособность сервиса при отказе одного ДЦ
• Возобновление загрузки видео в течение 12 часов
• Просмотр видео с любого момента времени во
Flash и HTML5
• Высокопроизводительная раздача до 30Gbps с
сервера
• Поддержка видео на мобильных устройствах
45. Осталось доделать
• HTML5 плеер
• «Левые» кодеки
• Использование метаданных исходного видео (GPS, например)