Avito / Авито (системный дизайн)
Актуальность: 2 кв 2025
Задача: Представь, что у нас есть стриминговый сервис музыки, некий аналог Spotify или Apple Music, и мы обратились к тебе для проработки backend механики плейлистов. architecture/system-design
Заголовок раздела «Задача: Представь, что у нас есть стриминговый сервис музыки, некий аналог Spotify или Apple Music, и мы обратились к тебе для проработки backend механики плейлистов. architecture/system-design»К системе предъявляются следующие функциональные требования:
- Пользователь может создать свой плейлист и добавить в него существующий трек;
- На странице плейлиста можно нажать кнопку «Перемешать» и начнется воспроизведение треков в случайном порядке;
- Прослушивание можно поставить на паузу и продолжить с того же места на другом устройстве, очередь прослушивания должна остаться прежней;
- Можно получить содержимое плейлиста и посмотреть сгенерированную очередь прослушивания;
Можешь считать, что загрузка треков на платформу уже реализована. P.S. Стриминг музыки уже реализован.
Задача: Спроектировать Messenger Avito. architecture/system-design
Заголовок раздела «Задача: Спроектировать Messenger Avito. architecture/system-design»Нефункциональные требования
Заголовок раздела «Нефункциональные требования»- 10Кб на сообщение;
architecture/system-design - DAU: 3 000 000;
architecture/system-design - MAU: 30 000 000;
architecture/system-design - Предположительный рост до 10 млн DAU за 3 года (*);
architecture/system-design - сообщений в день 10 сообщений в 3 чата (30 сообщений);
architecture/system-design - читаем/пишем 1:1;
architecture/system-design - 8 часов активно в день;
architecture/system-design - в одном чате 10 сообщений;
architecture/system-design - на человека в среднем по 15 чатов;
architecture/system-design - условно бесконечно денег.
architecture/system-design
Функциональные требования
Заголовок раздела «Функциональные требования»- 2 участника;
architecture/system-design - условный реалтайм;
architecture/system-design - чат должен быть привязан к объявлению;
architecture/system-design - история чатов должна быть всегда;
architecture/system-design - только текст (нет медиа);
architecture/system-design - чат остается даже если объявление снято или удалено;
architecture/system-design - важно чтобы были notification пользователю о сообщениях;
architecture/system-design - мониторинг и аналитика.
devops/observability
Задача: Спроектировать Авито. architecture/system-design
Заголовок раздела «Задача: Спроектировать Авито. architecture/system-design»- Можно сделать поисковый запрос и получить страницу поисковой выдачи - SERP (Search Engine Results Page);
architecture/system-design - Можно посмотреть карточку отдельного объявления;
architecture/system-design - Можно посмотреть список своих объявлений;
architecture/system-design - Можно добавить новое объявление которое появится в поисковой выдаче.
architecture/system-design