Новая Яндекс.Музыка. Бэкенд — Александр Гутман
-
Upload
yandex -
Category
Technology
-
view
436 -
download
2
description
Transcript of Новая Яндекс.Музыка. Бэкенд — Александр Гутман
![Page 1: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/1.jpg)
![Page 2: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/2.jpg)
Новая Яндекс.Музыка. Бекенд.
Александр Гутман
![Page 3: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/3.jpg)
Новая музыка
〉Мы переделали сервис
〉Раньше – каталог музыки
〉Теперь – рекомендации
〉Теперь – личная фонотека
3
![Page 4: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/4.jpg)
Вдруг вам интересно
〉java 8, spring, jetty
〉MySQL, MongoDB, Cassandra, Elliptics, ZooKeeper
〉17+ млн треков
〉6 млн посетителей в неделю
4
![Page 5: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/5.jpg)
Архитектура
5
mongoDB CassandraMySQLElliptics
Про пользователейПро контентmp3, jpeg
WebFace
Генерация «статики»
API
Загрузка контента
![Page 6: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/6.jpg)
Старое 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
![Page 7: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/7.jpg)
Новое API
〉Единое для пользовательских данных и контента
〉JSON
〉Общее у мобильного и веба
7
Web+Face
playlists/15
{tracks: [...
![Page 8: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/8.jpg)
Изменения в архитектуре
8
v1 v2 v3
Client
FaceWeb
Client
FaceWebWeb
Client
Face
![Page 9: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/9.jpg)
Почему они сразу так не сделали?
9
![Page 10: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/10.jpg)
Почему они сразу так не сделали?
10
![Page 11: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/11.jpg)
Почему мы сразу так не сделали
11
v1 v2 v3
Client
FaceWeb
Client
FaceWebWeb
Client
Face
![Page 12: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/12.jpg)
Почему мы сразу так не сделали
〉Face: Xmx30G
〉Web: много мусора
〉Что же делать?
〉Кто знает?
12
![Page 13: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/13.jpg)
Почему мы сразу так не сделали
〉Face: Xmx30G
〉Web: много мусора
〉Вынесли кеши в offheap
〉Раздаем статику торрентами
13
![Page 14: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/14.jpg)
Что нового
〉Фид
〉Фонотека
〉Персональное радио
14
![Page 15: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/15.jpg)
Рекомендации
〉Используем лайки, дислайки, плейлисты, проигрывания, скипы
〉Применяем матричное разложение
〉Применяем Матрикснет
〉Дообучаемся в реальном времени
15
![Page 16: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/16.jpg)
Сложности
〉Разнородный фидбек
〉Явного негативного фидбека мало
〉Неявного негативного фидбека тоже мало!
〉Сложно найти офлайновую метрику
〉Онлайновую метрику найти тоже сложно!
16
![Page 17: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/17.jpg)
Сложности 2
〉Фидбек про треки, а рекомендовать нужно альбомы и артистов
〉Фидбек запаздывает (а нужен в контексте)
17
![Page 18: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/18.jpg)
Фид
〉Последовательность событий про музыку
〉Хронология: события привязаны к дням
〉У всех событий есть объяснения
18
![Page 19: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/19.jpg)
Фид 2
〉Строится в момент запроса
〉Делает вид, что существует независимо от визитов пользователя
〉Тяжелые части готовятся заранее (кандидаты для рекомендаций, портрет пользователя)
〉Набор правил разной степени интеллектуальности
19
![Page 20: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/20.jpg)
Абсолютно неинтеллектуальное правило
20
![Page 21: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/21.jpg)
Ранжирование рекомендатором
21
![Page 22: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/22.jpg)
Интеллектуальное правило
22
![Page 23: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/23.jpg)
Как запустить фид
〉Правила настраиваются вручную
〉Мы экспериментировали на команде музыки
〉Потом на сотрудниках Яндекса
〉Потом на специальных внешних людях
〉Потом на случайных внешних людях
23
![Page 24: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/24.jpg)
Как запустить музыку
〉A/B-тестирование
〉Эксперименты
〉Сбор данных о действиях пользователя
〉Аналитика и правильные метрики
24
![Page 25: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/25.jpg)
Выводы
〉Лучше сразу сделать все правильно
〉Радикальный редизайн – это не очень страшно
〉Измеряйте пользу любый изменений
25
![Page 26: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/26.jpg)
Ответы
26
![Page 27: Новая Яндекс.Музыка. Бэкенд — Александр Гутман](https://reader033.fdocument.pub/reader033/viewer/2022051817/547b2c9ab4af9fd02c8b4677/html5/thumbnails/27.jpg)
27
Александр Гутман
Группа технологий работы с большими данными
Контакты
@gutmanoid+7 (926) 369 96 83