Реактивный раздатчик ok.ru/music

День 2 /  / Зал 1  /  RU /

Комментарий Программного комитета:

Разработчик в Одноклассниках. Доклад — о реальной инженерной системе, посвящен тому, как научиться применять реактивные технологии на практике. Много полезной информации об архитектуре распределенной системы. Стоит послушать тем, кому нужно спроектировать работающую высоконагруженную систему.

Раздатчик музыки непосредственно занимается отдачей байтов аудиопотока многочисленным пользователям https://ok.ru/music. В пике суммарный трафик достигает 100 Гб/с через сотни тысяч соединений, а время до первого байта составляет не больше 100 мс. Предыдущая версия раздатчика на основе файлов и Apache Tomcat не устраивала нас требуемым количеством оборудования и неспособностью утилизировать современное железо. При разработке новой версии мы поставили перед собой цель сохранить внешнюю функциональность сервиса неизменной, но обойтись существенно меньшим количеством машин, сохранив при этом масштабируемость и отказоустойчивость сервиса.

В докладе мы рассмотрим, как различные архитектурные решения помогли нам обеспечить масштабируемость и отказоустойчивость сервиса за счёт распределения и репликации музыкальных треков между нодами. Затем подробно поговорим про устройство отдельной ноды, включая отказоустойчивую подсистему хранения, сетевую подсистему, а также использование подхода reactive streams. Уделим особое внимание собранным граблям и трюкам, позволившим увеличить производительность системы, упростить отладку и эксплуатацию системы.

Доклад ориентирован на разработчиков, которые хотят расширить свой арсенал подходов и инструментов для создания распределённых и/или высоконагруженных систем с интенсивным I/O.


Вадим Цесько
Одноклассники

Ведущий разработчик в Платформе Одноклассников. Начал свой путь в IT/CS в 2004 с создания систем гидроакустики и исследовательских проектов по статическому анализу кода. Затем больше 5 лет разрабатывал высоконагруженные распределённые сервисы в Яндекс.Вертикалях. Эпизодически читает лекции по параллельным вычислениям и распределённым хранилищам данных.

Прошлые выступления спикера