Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Новая Яндекс.Музыка. 
Бекенд. 
Александр Гутман
Новая музыка 
〉Мы переделали сервис 
〉Раньше – каталог музыки 
〉Теперь – рекомендации 
〉Теперь – личная фонотека 
3
Вдруг вам интересно 
〉java 8, spring, jetty 
〉MySQL, MongoDB, Cassandra, Elliptics, ZooKeeper 
〉17+ млн треков 
〉6 млн пос...
Архитектура 
5 
API 
Face Web 
Генерация 
«статики» 
Загрузка 
контента 
Elliptics MySQL mongoDB Cassandra 
mp3, jpeg Про ...
Старое API 
〉Пользовательские данные отдельно, 
контент отдельно 
〉XML 
〉API для контента когда-то было 
статикой 
〉Разное...
Новое API 
〉Единое для пользовательских данных и 
контента 
〉JSON 
〉Общее у мобильного и веба 
7 
Web+Face 
playlists/15 
...
Изменения в архитектуре 
8 
Client 
Web Face 
Client 
Web Face 
Client 
Web 
v1 v2 v3 
Face
Почему они сразу так не сделали? 
9
Почему они сразу так не сделали? 
10
Почему мы сразу так не сделали 
11 
Client 
Web Face 
Client 
Web Face 
Client 
Web 
v1 v2 v3 
Face
Почему мы сразу так не сделали 
〉Face: Xmx30G 
〉Web: много мусора 
〉Что же делать? 
〉Кто знает? 
12
Почему мы сразу так не сделали 
〉Face: Xmx30G 
〉Web: много мусора 
〉Вынесли кеши в offheap 
〉Раздаем статику торрентами 
1...
Что нового 
〉Фид 
〉Фонотека 
〉Персональное радио 
14
Рекомендации 
〉Используем лайки, дислайки, плейлисты, проигрывания, скипы 
〉Применяем матричное разложение 
〉Применяем Мат...
Сложности 
〉Разнородный фидбек 
〉Явного негативного фидбека мало 
〉Неявного негативного фидбека тоже мало! 
〉Сложно найти ...
Сложности 2 
〉Фидбек про треки, а рекомендовать нужно альбомы и артистов 
〉Фидбек запаздывает (а нужен в контексте) 
17
Фид 
〉Последовательность событий про музыку 
〉Хронология: события привязаны к дням 
〉У всех событий есть объяснения 
18
Фид 2 
〉Строится в момент запроса 
〉Делает вид, что существует независимо от визитов пользователя 
〉Тяжелые части готовятс...
Абсолютно неинтеллектуальное правило 
20
Ранжирование рекомендатором 
21
Интеллектуальное правило 
22
Как запустить фид 
〉Правила настраиваются вручную 
〉Мы экспериментировали на команде 
музыки 
〉Потом на сотрудниках Яндекс...
Как запустить музыку 
〉A/B-тестирование 
〉Эксперименты 
〉Сбор данных о действиях пользователя 
〉Аналитика и правильные мет...
Выводы 
〉Лучше сразу сделать все правильно 
〉Радикальный редизайн – это не очень страшно 
〉Измеряйте пользу любый изменени...
Ответы 
26
27 
Контакты 
Александр Гутман 
Группа технологий работы с большими данными 
+7 (926) 369 96 83 @gutmanoid 
gutmanoid@yand...
Новая Яндекс.Музыка. Бэкенд — Александр Гутман
Nächste SlideShare
Wird geladen in …5
×

Новая Яндекс.Музыка. Бэкенд — Александр Гутман

1.036 Aufrufe

Veröffentlicht am

Недавно мы запустили полностью переработанную версию Яндекс.Музыки. Раньше сервис был просто большим каталогом музыки, а теперь он построен вокруг интересов пользователя. Запуск новой версии потребовал переработки всех компонентов сервиса.

Я расскажу, как мы писали бекенд для новой Яндекс.Музыки и как вообще он устроен, что пришлось поменять в API и архитектуре сервиса при переделке, что мы сделали нового и как всё это запускали. Также вы узнаете, как на сервисе работают рекомендации и радио.

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Новая Яндекс.Музыка. Бэкенд — Александр Гутман

  1. 1. Новая Яндекс.Музыка. Бекенд. Александр Гутман
  2. 2. Новая музыка 〉Мы переделали сервис 〉Раньше – каталог музыки 〉Теперь – рекомендации 〉Теперь – личная фонотека 3
  3. 3. Вдруг вам интересно 〉java 8, spring, jetty 〉MySQL, MongoDB, Cassandra, Elliptics, ZooKeeper 〉17+ млн треков 〉6 млн посетителей в неделю 4
  4. 4. Архитектура 5 API Face Web Генерация «статики» Загрузка контента Elliptics MySQL mongoDB Cassandra mp3, jpeg Про контент Про пользователей
  5. 5. Старое API 〉Пользовательские данные отдельно, контент отдельно 〉XML 〉API для контента когда-то было статикой 〉Разное API для мобильного и веба 6 get-playlist?id=15 track-ids=1,2,5 Face get-tracks?track-ids=1,2,5 <tracks><track>... Web
  6. 6. Новое API 〉Единое для пользовательских данных и контента 〉JSON 〉Общее у мобильного и веба 7 Web+Face playlists/15 {tracks: [...
  7. 7. Изменения в архитектуре 8 Client Web Face Client Web Face Client Web v1 v2 v3 Face
  8. 8. Почему они сразу так не сделали? 9
  9. 9. Почему они сразу так не сделали? 10
  10. 10. Почему мы сразу так не сделали 11 Client Web Face Client Web Face Client Web v1 v2 v3 Face
  11. 11. Почему мы сразу так не сделали 〉Face: Xmx30G 〉Web: много мусора 〉Что же делать? 〉Кто знает? 12
  12. 12. Почему мы сразу так не сделали 〉Face: Xmx30G 〉Web: много мусора 〉Вынесли кеши в offheap 〉Раздаем статику торрентами 13
  13. 13. Что нового 〉Фид 〉Фонотека 〉Персональное радио 14
  14. 14. Рекомендации 〉Используем лайки, дислайки, плейлисты, проигрывания, скипы 〉Применяем матричное разложение 〉Применяем Матрикснет 〉Дообучаемся в реальном времени 15
  15. 15. Сложности 〉Разнородный фидбек 〉Явного негативного фидбека мало 〉Неявного негативного фидбека тоже мало! 〉Сложно найти офлайновую метрику 〉Онлайновую метрику найти тоже сложно! 16
  16. 16. Сложности 2 〉Фидбек про треки, а рекомендовать нужно альбомы и артистов 〉Фидбек запаздывает (а нужен в контексте) 17
  17. 17. Фид 〉Последовательность событий про музыку 〉Хронология: события привязаны к дням 〉У всех событий есть объяснения 18
  18. 18. Фид 2 〉Строится в момент запроса 〉Делает вид, что существует независимо от визитов пользователя 〉Тяжелые части готовятся заранее (кандидаты для рекомендаций, портрет пользователя) 〉Набор правил разной степени интеллектуальности 19
  19. 19. Абсолютно неинтеллектуальное правило 20
  20. 20. Ранжирование рекомендатором 21
  21. 21. Интеллектуальное правило 22
  22. 22. Как запустить фид 〉Правила настраиваются вручную 〉Мы экспериментировали на команде музыки 〉Потом на сотрудниках Яндекса 〉Потом на специальных внешних людях 〉Потом на случайных внешних людях 23
  23. 23. Как запустить музыку 〉A/B-тестирование 〉Эксперименты 〉Сбор данных о действиях пользователя 〉Аналитика и правильные метрики 24
  24. 24. Выводы 〉Лучше сразу сделать все правильно 〉Радикальный редизайн – это не очень страшно 〉Измеряйте пользу любый изменений 25
  25. 25. Ответы 26
  26. 26. 27 Контакты Александр Гутман Группа технологий работы с большими данными +7 (926) 369 96 83 @gutmanoid gutmanoid@yandex.ru

×