Social Media Infrastructure View - это кейс про эксплуатационную устойчивость всей платформы, а не одной фичи. На интервью здесь проверяется, как вы проектируете SLO-driven архитектуру, fault isolation, graceful degradation и observabilityдля read-heavy social продукта.
Источник
Acing the System Design Interview
Глава 14: Social Media Infrastructure View с фокусом на platform-level reliability.
Где этот паттерн критичен
- Twitter/X: fanout, ranking и защита от celebrity spikes.
- Instagram / Threads: медиа-heavy feed с moderation и fallback стратегиями.
- TikTok: низкая latency выдачи + дорогое персонализированное ранжирование.
- LinkedIn / Reddit: баланс relevance, freshness и стабильности SLO.
Функциональные требования
Core API / User Journeys
POST /posts- публикация контентаGET /feed- получение персональной лентыPOST /interactions- like/comment/sharePOST /relationships- follow/unfollow
Platform функции
- Гибридный fanout контур (push/pull) для разных профилей пользователей
- Moderation hooks и policy checks до попадания контента в feed
- Notification и ranking контуры с controlled fallback режимами
- Операционные контуры: incident runbooks, rollout guardrails, safe replays
Нефункциональные требования
| Требование | Целевое значение | Обоснование |
|---|---|---|
| Feed open latency (p95) | < 250ms | Ключевой UX-journey для удержания пользователей |
| Publish ack latency (p95) | < 400ms | Быстрая обратная связь при создании контента |
| Availability | 99.95% | Платформа критична для ежедневной пользовательской активности |
| Celebrity spike handling | Без cascade failures | Экстремальные fanout-нагрузки в social домене |
| Error budget governance | SLO-driven rollouts | Управление рисками релизов и деградацией платформы |
High-Level Architecture
Теория
Twitter/X
Практический кейс feed системы: fanout, cache topology, ranking и нагрузочные trade-offs.
High-Level Architecture
feed platform + ranking + SLO control loopСхема показывает контуры публикации, чтения ленты и эксплуатационного управления social платформой.
Архитектура разделяет publish/feed пути и отдельный control loop для SLO, observability и деградации. Это снижает blast radius и даёт устойчивое поведение платформы под всплесками нагрузки.
Write/Read Paths
Write/Read Paths
Как публикация проходит в инфраструктуре и как лента собирается при высокой read-нагрузке.
Write path: пост проходит валидацию, сохраняется в durable storage и распространяется через async fanout в timeline/notifications/moderation.
Client Post
create content
Пользователь публикует пост через мобильный/web клиент.
Gateway + Auth
validate request
Gateway проверяет auth/quota и маршрутизирует запрос в post service.
Post Service
durable commit
Пост фиксируется в durable store и публикуется событие в bus.
Async Fanout
timeline + moderation
Событие расходится в timeline build, moderation и notification сервисы.
User Signals
feed + notifications
Подписчики получают обновлённую ленту/уведомления без блокировки publish ACK.
Client Post
create content
Пользователь публикует пост через мобильный/web клиент.
Gateway + Auth
validate request
Gateway проверяет auth/quota и маршрутизирует запрос в post service.
Post Service
durable commit
Пост фиксируется в durable store и публикуется событие в bus.
Async Fanout
timeline + moderation
Событие расходится в timeline build, moderation и notification сервисы.
User Signals
feed + notifications
Подписчики получают обновлённую ленту/уведомления без блокировки publish ACK.
Write path checkpoints
- •Сначала durable commit поста, потом fanout в downstream-контуры.
- •Moderation и notifications чаще асинхронны и изолированы от core feed availability.
- •Celebrity-публикации требуют controlled fanout, чтобы не перегружать consumers.
Устойчивость и эксплуатация
Глубже
Observability и Monitoring
User-journey SLO, traces, error budgets и operational decision loops.
SLO-driven contract
Platform контуры должны быть привязаны к пользовательским SLO, а не к изолированным сервисным метрикам:
feed_open_slo = latency_p95 + error_rate + freshness publish_slo = ack_latency + durability + moderation_delay
- Error budget - ограничивает рискованные релизы
- Trace coverage - ускоряет root cause анализ
- Golden signals - latency, traffic, errors, saturation
Degradation strategy
- Bulkhead/circuit breaker: изоляция ranking/moderation от базового feed path.
- Fallback ranking: переход к time-based выдаче при сбое персонализации.
- Load shedding: отключение вторичных фич под saturation.
- Traffic shaping: приоритет критичных user-journey во время инцидентов.
Риски и типовые ошибки
- Celebrity blast radius: fanout без ограничений перегружает downstream сервисы.
- Over-coupled ranking: отказ ML-контура ломает базовую доступность feed.
- Weak moderation integration: риск утечки запрещённого контента в выдачу.
- No fallback plan: отсутствие деградации ведет к full outage при partial failures.
- Metric blindness: сервисы "зелёные", но пользовательский journey деградирует.
Что важно проговорить на интервью
- Где проходят service boundaries и как изолируются критичные контуры при отказах.
- Какая fanout стратегия выбрана для обычных и celebrity пользователей, и почему.
- Как устроен fallback режим feed при деградации ranking/moderation сервисов.
- Какие SLO/SLI реально управляют релизами и incident response процессом.
