System Design Space
Граф знанийНастройки

Обновлено: 11 апреля 2026 г. в 19:35

Инфраструктура социальной платформы

средний

Классическая задача: лента, публикация, изоляция отказов, плавная деградация и эксплуатационная устойчивость социальной платформы.

Социальная платформа кажется единым продуктом только снаружи. Внутри это лента, публикация, граф связей, уведомления, модерация и эксплуатационные контуры, которые должны расти вместе, но не падать вместе.

Глава помогает провести границу между общими платформенными возможностями и отдельными продуктовыми сервисами, а также понять, где оправдан единый инфраструктурный слой, а где полезнее независимые контуры.

В интервью и инженерных обсуждениях этот кейс полезен тем, что быстро переводит разговор с отдельных сервисов на устойчивость всей платформы: как ограничивать связанность, переживать пики и окупать платформенные инвестиции.

Гибридная раздача

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

Изоляция отказов

Ранжирование, модерация и уведомления не должны ломать базовую доступность ленты, поэтому зависимые контуры нужно отделять заранее, а не уже во время инцидента.

Плавная деградация

Во время пиков и частичных отказов платформа должна уметь упростить выдачу и отключить вторичные функции, сохранив основной пользовательский сценарий.

SLO платформы

Надёжность здесь определяется не здоровьем отдельного сервиса, а тем, открывается ли лента вовремя, публикуется ли пост без задержек и насколько быстро команда замечает деградацию.

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

Источник

Acing the System Design Interview

Глава 14: взгляд на социальную платформу с акцентом на эксплуатационную устойчивость всей системы.

Читать обзор

Где этот паттерн критичен

  • Twitter/X: массовая , и защита от всплесков вокруг популярных аккаунтов.
  • Instagram / Threads: медиа-лента с модерацией, уведомлениями и резервными режимами выдачи.
  • TikTok: быстрая выдача ленты при дорогой персонализации и очень высокой нагрузке на чтение.
  • LinkedIn / Reddit: баланс релевантности, свежести контента и стабильности пользовательского опыта.

Функциональные требования

Базовые API и пользовательские сценарии

  • POST /posts - публикация контента
  • GET /feed - получение персональной ленты
  • POST /interactions - лайки, комментарии и репосты
  • POST /relationships - подписка и отписка

Платформенные возможности

  • Гибридная раздача ленты для обычных пользователей и популярных авторов
  • Проверки модерации и продуктовых политик до попадания контента в выдачу
  • Отдельные контуры уведомлений и ранжирования с продуманными резервными режимами
  • Эксплуатационные контуры: инструкции на случай инцидентов, защитные ограничения релизов и безопасные повторные прогоны

Нефункциональные требования

ТребованиеЦелевое значениеОбоснование
Задержка открытия ленты (p95)< 250msКлючевой пользовательский сценарий, который напрямую влияет на удержание аудитории
Задержка подтверждения публикации (p95)< 400msБыстрая обратная связь при создании контента
Доступность платформы99.95%Платформа критична для ежедневной пользовательской активности
Пики вокруг популярных авторовБез каскадных отказовЭкстремальные нагрузки при массовой раздаче новых постов
Управление бюджетом ошибокРелизы по целям надёжностиКонтроль риска релизов и своевременное включение деградационных режимов

Для этой платформы главный проходит между глубиной персонализации и , а итоговая важна не меньше, чем успех отдельных сервисов по внутренним метрикам.

Архитектура высокого уровня

Теория

Twitter/X

Практический кейс ленты: стратегия раздачи постов, топология кэшей, ранжирование и нагрузочные компромиссы.

Читать обзор

Архитектура высокого уровня

публикация, выдача ленты и контур эксплуатационной устойчивости

Схема показывает контуры публикации, выдачи ленты и эксплуатационного управления социальной платформой.

Клиентские приложения
веб и мобильные клиенты
API-шлюз
аутентификация и маршрутизация
Сервис публикации
создание и обновление контента
Сервис ленты
сборка выдачи
Сервис ранжирования
персонализация
Сервис графа
подписки и связи
Шина событий
основа массовой раздачи
Кэш ленты
горячие срезы выдачи
Хранилище постов
надёжный источник данных
Хранилище графа
социальные связи
Уведомления
push и email
Модерация
проверка политик
Наблюдаемость
логи, метрики, трассировки
Контроллер SLO
включение деградации

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

Путь записи и путь чтения

Путь записи и путь чтения

Как публикация проходит через платформу и как лента собирается под высокой нагрузкой на чтение.

Путь записи: пост проходит проверку, надёжно сохраняется и затем расходится по асинхронным контурам ленты, уведомлений и модерации.

Публикация поста

Этап 1

создание контента

Пользователь публикует пост через мобильный или веб-клиент.

Шлюз и аутентификация

Этап 2

проверка запроса

Шлюз проверяет аутентификацию, квоты и маршрутизирует запрос в сервис публикации.

Сервис публикации

Этап 3

надёжная запись

Пост фиксируется в надёжном хранилище, после чего в шину отправляется событие.

Асинхронная раздача

Этап 4

лента и модерация

Событие расходится в сборку ленты, модерацию и сервис уведомлений.

Обновления для аудитории

Этап 5

лента и уведомления

Подписчики получают обновлённую ленту и уведомления без блокировки подтверждения публикации.

Ключевые точки пути записи

  • Сначала пост надёжно фиксируется в хранилище, а уже потом расходится по асинхронным контурам.
  • Модерация и уведомления обычно работают асинхронно и не должны ломать базовую доступность ленты.
  • Публикации популярных авторов требуют управляемой раздачи, чтобы не перегружать потребителей.

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

Устойчивость и эксплуатация

Глубже

Наблюдаемость и мониторинг

Пользовательские цели надёжности, трассировки, бюджеты ошибок и эксплуатационные циклы принятия решений.

Читать обзор

Контракт по целям надёжности

Платформенные контуры должны быть привязаны к пользовательским и измеряться через , а не через изолированные внутренние метрики отдельных сервисов:

feed_open_slo = latency_p95 + error_rate + freshness
publish_slo   = ack_latency + durability + moderation_delay
  • ограничивает рискованные релизы.
  • Покрытие трассировками ускоряет разбор первопричины инцидента.
  • помогают видеть задержку, трафик, ошибки и насыщение ресурсов.

Стратегия деградации

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

Риски и типовые ошибки

  • Слишком большой радиус поражения у популярных авторов: неограниченная раздача постов перегружает зависимые сервисы.
  • Избыточная связанность ранжирования: сбой ML-контура не должен ломать базовую доступность ленты.
  • Слабая интеграция модерации: запрещённый контент может попасть в выдачу до применения политик.
  • Отсутствие резервного режима: без деградации частичный сбой быстро превращается в общий отказ.
  • Слепота по метрикам: сервисы выглядят здоровыми, но пользовательский путь уже заметно деградировал.

Что важно проговорить на интервью

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

Связанные главы

  • Twitter/X - Практический кейс социальной ленты: массовая раздача постов, ранжирование, кэширование и пиковые нагрузки.
  • Event-Driven Architecture - Асинхронные контуры событий для публикации, сборки ленты и независимого масштабирования сервисов.
  • Паттерны отказоустойчивости - Изоляция отказов, защитные паттерны и плавная деградация при сбоях зависимостей.
  • Наблюдаемость и мониторинг - Пользовательские цели надёжности, корреляция трасс и эксплуатационные циклы принятия решений.
  • SRE Book - Бюджет ошибок, надёжные релизы и управление эксплуатационными рисками.
  • Notification System - Смежный контур вовлечения с асинхронной доставкой и продуманными режимами деградации.

Чтобы отмечать прохождение, включи трекинг в Настройки