Дизайн системы новостной ленты Instagram | Архитектура лент Facebook, Instagram и LinkedIn
Arpit Vaish
0:00 / 0:00
Дизайн системы новостной ленты Instagram | Архитектура лент Facebook, Instagram и LinkedIn
920 просмотров · 3 мес. назад
Arpit Vaish
401 подписчик
920 просмотров · 3 мес. назад
Вы когда-нибудь задумывались, как Instagram, Facebook или LinkedIn определяют, какой пост отображается первым в вашей ленте?
За каждой прокруткой скрывается одна из самых сложных распределенных систем, когда-либо созданных.
В этом видео мы разработаем систему новостной ленты промышленного масштаба, способную обслуживать сотни миллионов пользователей, обеспечивая при этом низкую задержку, персонализированный рейтинг и обновления в реальном времени.
Мы рассмотрим, как современные платформы социальных сетей используют Redis, Kafka, Cassandra, ранжирование машинного обучения, архитектуры Fan-out, шардированные счетчики, стратегии кэширования и распределенные системы для доставки персонализированных лент за миллисекунды.
Независимо от того, к чему вы готовитесь:
Собеседования по системному проектированию
Собеседования на должность старшего инженера-программиста
Собеседования на должность ведущего инженера
Собеседования на должность главного инженера
Разработка бэкенда
Распределенные системы
этот учебник охватывает архитектуру и компромиссы, используемые реальными социальными платформами.
📚 Что вы узнаете
✅ Функциональные и нефункциональные требования
✅ Оценка производительности
✅ Высокоуровневая архитектура
✅ Push vs Pull vs Hybrid Fan-out
✅ Конвейер генерации фидов
✅ Конвейер ранжирования машинного обучения
✅ Кэш фидов Redis
✅ Социальный граф Cassandra
✅ Потоковая передача событий Kafka
✅ Шардированные счетчики
✅ Обновления фидов в реальном времени (SSE vs WebSockets)
✅ Наблюдаемость и мониторинг
✅ Улучшения в производственной среде
✅ Вопросы от ведущего инженера
00:00 Введение
01:40 Функциональные требования
02:32 Нефункциональные требования
03:10 Оценка производительности
04:12 API и модель данных
05:36 Высокоуровневое проектирование
06:48 Push vs Pull vs Гибридное веерное распространение
09:40 Конвейер генерации ленты новостей
11:25 Рейтинг машинного обучения
13:22 Социальный граф и шардированные счетчики
15:06 Обновления ленты новостей в реальном времени
16:05 Наблюдаемость и мониторинг
17:02 Улучшения в производственной среде
17:55 Происхождение данных
18:26 Сравнение технологий
19:00 Вопросы от ведущего инженера
19:35 Итоговое резюме
👨💻 Рассмотренные технологии
Системный дизайн
Архитектура Instagram
Архитектура Facebook
Архитектура LinkedIn
Дизайн новостной ленты
Распределенные системы
Микросервисы
Redis
Kafka
Cassandra
Рейтинг машинного обучения
Рейтинг ленты новостей
Веерное распространение
Модель «push»
Модель «pull»
Гибридное веерное распространение
События, отправляемые сервером (SSE)
WebSockets
Проектирование кэша
Масштабируемость
Бэкенд-разработка
Если вы готовитесь Подпишитесь на YodhaMonk, чтобы получать обучающие материалы по проектированию систем для подготовки к собеседованиям на должности инженера-программиста, ведущего инженера, главного инженера или системного проектировщика.
👍 Лайк • 💬 Комментарий • 🔔 Подписаться
#systemdesign #instagram #facebook #linkedin #newsfeed #distributedsystems #softwarearchitecture #backend #microservices #redis #kafka #cassandra #ml #ranking #scalability #engineering #staffengineer #principalengineer #softwareengineer #interviewpreparation #yodhamonk