TGViewer
ТехнофITнес | Никита Ульшин ТехнофITнес | Никита Ульшин @tech_fit · 262 subscribers
Post #21 360
System Design: Spotify

Как действующий интервьюер и просто любопытный инженер, я очень люблю читать и смотреть всякие разборы системных дизайнов. Они обычно не идеальны, но в каждом подобном кейсе всегда можно выудить интересные мысли.

В этой статье автор показывает, как бы он спроектировал Spotify на собеседовании. Решение получилось очень любопытным и при этом достаточно простым. Правда, я споткнулся на терминологии leader-follower (не сразу понял, что теперь master-slave так называется).

Тем, кому предстоит проходить подобное собеседование, рекомендую также обратить внимание на последовательность шагов, которые предпринимает автор. Сначала он выяснил требования и посчитал циферки, а только потом начал рисовать. Не наоборот.

В примере, конечно, не хватает ряда цифр (например, расчёта RPS) и адекватного проектирования бэкенда (web servers — это сильно). Но сама идея как минимум достойна изучения. У меня в закладках есть более интересные примеры проектирования таких систем, так что ждите новых постов.

⭐️ Интересные идеи

➡️ Основная проблема — для песен нужно много места (90 ТБ). Для их хранения автор выбрал обычное файловое хранилище (типа S3). Метаданные хранятся в обычной реляционной базе — их совсем немного.

➡️ Боттлнеком в такой системе становится нагрузка на сеть. Если постоянно читать все песни и гонять трафик, то в какой-то момент пропускной способности просто перестанет хватать. Решение простое — внедрить региональные CDN, которые будут кэшировать и раздавать песни по своей области покрытия.

➡️ На самом деле под капотом Spotify работает по запатентованному P2P-протоколу синхронизации, поэтому у них в системе нет централизованного хранилища. Эта информация есть в первом комментарии к статье — там же содержится ссылка на сам документ с описанием протокола.

Приятного чтения!

#systemdesign@tech_fit
➖➖➖➖➖➖➖➖➖➖➖
// Понравился пост? Ставь 💛
// И обязательно подпишись на канал, чтобы не пропустить новые статьи
Medium System Design Interview Question: Design Spotify High-level overview of a System Design Interview Question - Design Spotify.
  • 👍 5
  • 🔥 4
  • ⚡ 3
More from @tech_fit
  1. Oct 13, 2025Почему Uber переехал с Postgres на MySQL Интересная статья о том, какие проблемы в Postgre…
  2. Oct 6, 2025Паттерн Bulkhead Продолжаю читать статьи про паттерны отказоустойчивых приложений. На очер…
  3. Oct 1, 2025Как сервера договариваются друг с другом: алгоритм распределённого консенсуса Raft Распред…
  4. Sep 29, 2025Микросервисы не подходят стартапам Интересная статья, которая в очередной раз напоминает о…
  5. Aug 25, 2025Сколько партиций в Kafka мне нужно? Партиции — это одна из важнейших частей Kafka. С их по…
  6. Aug 18, 2025Роадмап архитектора Как вы знаете, иногда я тут делюсь не обзорчиками, а вполне прикладным…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →