Перейти к содержанию

Roadmap: карта тем#

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

Код карточки состоит из кода темы и номера внутри неё — REL-04, DATA-11. Номер внутри блока, а не сквозной: карточку можно добавить, не трогая остальные. Соответствие прежним сквозным номерам — в 97-card-map.md.

flowchart BT
    B01[B01 · Сеть, протоколы, API] --> B02[B02 · Приём трафика]
    B01 --> B03[B03 · Хранилища и данные]
    B03 --> B04[B04 · Кэширование]
    B03 --> B05[B05 · Асинхронность]
    B03 --> B06[B06 · Распределённые системы]
    B05 --> B06
    B02 --> B07[B07 · Архитектурные стили]
    B06 --> B07
    B06 --> B08[B08 · Надёжность]
    B02 --> B09[B09 · Безопасность]
    B07 --> B10[B10 · Доставка и эксплуатация]
    B08 --> B10
    B04 --> B11[B11 · Производительность и стоимость]
    B10 --> B11
    B07 --> B12[B12 · Кейсы]
    B08 --> B12
    B11 --> B12

Три трека прохождения#

Трек Кому Что читать
Минимум (~4 часа) Нужно быстро войти в тему 00-workflow.md целиком + NET-01, NET-03, NET-08, NET-16, EDGE-01, EDGE-05, DATA-01, DATA-05, DATA-08, DATA-09, DATA-10, CACHE-01, CACHE-04, MSG-01, MSG-02, MSG-06, DIST-02, DIST-03, DIST-08, REL-01, REL-02, OPS-07, PERF-01
Полный Систематическое изучение Блоки по порядку графа зависимостей: B01 → B02/B03 → B04/B05 → B06 → B07/B08 → B09/B10/B11 → B12
Под интервью Подготовка к system design интервью 00-workflow.md (быстрый проход 45 мин) → B06, B03, B05, B08 → все кейсы B12 → чек-лист W11

Легенда#

  • Шаг — шаг рабочего процесса, к которому относится карточка; у справок и кейсов — их вид
  • ✅ — карточка написана (все 155 готовы)

Реестр тем#

B01 · Сеть, протоколы, API#

topics/01-network-and-api.md · 21 тем

ID Статус Тема Шаг
NET-01 ✅ Как работает интернет: DNS, TCP/UDP, маршрутизация W1
NET-02 ✅ Сетевая модель OSI и TCP/IP W4
NET-03 ✅ HTTP: эволюция 1.1 → 2 → 3 W2
NET-04 ✅ HTTPS и TLS: рукопожатие, сертификаты W8
NET-05 ✅ HTTP-коды и семантика ошибок W2
NET-06 ✅ HTTP-кэширование и условные запросы W2
NET-07 ✅ Форматы сериализации и сжатие W2
NET-08 ✅ Стили API: обзор и выбор W2
NET-09 ✅ REST: ресурсы, методы, безопасность и идемпотентность методов W2
NET-10 ✅ gRPC и protobuf W2
NET-11 ✅ GraphQL: когда оправдан W2
NET-12 ✅ Realtime-транспорт: polling, long polling, SSE, WebSocket W2
NET-13 ✅ Асинхронные операции в API: 202 и ресурс статуса W2
NET-14 ✅ Пагинация: offset vs cursor W2
NET-15 ✅ Массовые операции и батчинг W2
NET-16 ✅ Идемпотентность запросов и ключ идемпотентности W2
NET-17 ✅ Версионирование API и обратная совместимость W2
NET-18 ✅ Контракты и схемы: OpenAPI, protobuf, schema registry W2
NET-19 ✅ CORS и браузерная модель безопасности W8
NET-20 ✅ API vs SDK W2
NET-21 ✅ Устройство веб-приложения (вводная) W4

B02 · Приём трафика: LB / proxy / gateway / CDN#

topics/02-traffic-and-edge.md · 9 тем

ID Статус Тема Шаг
EDGE-01 ✅ Балансировка нагрузки: L4 vs L7, алгоритмы W5
EDGE-02 ✅ Proxy и reverse proxy W4
EDGE-03 ✅ API gateway: зона ответственности и отличие от LB/RP W4
EDGE-04 ✅ Точка входа: ingress, маршрутизация по путям и версиям W9
EDGE-05 ✅ CDN и edge-кэширование W5
EDGE-06 ✅ Rate limiting: token bucket, leaky bucket, sliding window W8
EDGE-07 ✅ Защита периметра: WAF, DDoS, боты W8
EDGE-08 ✅ Service discovery и регистрация сервисов W4
EDGE-09 ✅ Глобальная маршрутизация: anycast, GSLB, geo-DNS W7

B03 · Хранилища и данные#

topics/03-storage-and-data.md · 19 тем

ID Статус Тема Шаг
DATA-01 ✅ Выбор хранилища: SQL, NoSQL, специализированные W3
DATA-02 ✅ Специализированные хранилища: time-series, графовые, векторные W3
DATA-03 ✅ Моделирование данных от паттернов доступа W3
DATA-04 ✅ Типы данных: деньги, время, часовые пояса, идентификаторы W3
DATA-05 ✅ Индексы: B-tree vs LSM, составные и покрывающие W3
DATA-06 ✅ SQL: порядок выполнения и оптимизация запросов W3
DATA-07 ✅ ACID и транзакции W6
DATA-08 ✅ Уровни изоляции, аномалии, MVCC, блокировки W6
DATA-09 ✅ Репликация: sync/async, лаг, read-your-writes W5
DATA-10 ✅ Шардирование и партиционирование: выбор ключа, ребалансировка W5
DATA-11 ✅ Consistent hashing W5
DATA-12 ✅ Object storage и работа с файлами W3
DATA-13 ✅ Полнотекстовый поиск и инвертированный индекс W3
DATA-14 ✅ Геоданные и геоиндексы: geohash, S2/H3, R-дерево W3
DATA-15 ✅ OLTP vs OLAP: warehouse, lake, lakehouse W3
DATA-16 ✅ Целостность и сверка данных W9
DATA-17 ✅ Миграции схемы без простоя, бэкфиллы W9
DATA-18 ✅ Мультитенантность и изоляция данных W3
DATA-19 ✅ Retention, удаление данных, приватность W0

B04 · Кэширование#

topics/04-caching.md · 5 тем

ID Статус Тема Шаг
CACHE-01 ✅ Уровни кэша: клиент, CDN, приложение, БД W5
CACHE-02 ✅ Стратегии: cache-aside, read/write-through, write-behind W5
CACHE-03 ✅ Инвалидация и согласованность кэша с БД W6
CACHE-04 ✅ Патологии: stampede, hot key, negative caching W7
CACHE-05 ✅ Redis: модель данных, однопоточность, сценарии W5

B05 · Асинхронность и обмен сообщениями#

topics/05-async-and-messaging.md · 11 тем

ID Статус Тема Шаг
MSG-01 ✅ Модели взаимодействия: команда, событие, запрос-ответ W2
MSG-02 ✅ Очередь vs лог: семантика и последствия выбора W4
MSG-03 ✅ RabbitMQ и модель AMQP W4
MSG-04 ✅ Kafka: устройство, производительность, сценарии W4
MSG-05 ✅ Карта брокеров: NATS, Pulsar, SQS/SNS, Redis Streams, БД-как-очередь W4
MSG-06 ✅ Гарантии доставки и дедупликация W6
MSG-07 ✅ Transactional outbox и CDC W6
MSG-08 ✅ Повторы потребителя, DLQ, poison messages W7
MSG-09 ✅ Backpressure и flow control W7
MSG-10 ✅ Webhooks: доставка, повторы, подпись W2
MSG-11 ✅ Data pipeline: батч vs стрим W3

B06 · Распределённые системы и масштабирование#

topics/06-distributed-systems.md · 11 тем

ID Статус Тема Шаг
DIST-01 ✅ Вертикальное vs горизонтальное масштабирование W5
DIST-02 ✅ CAP и PACELC W6
DIST-03 ✅ Модели согласованности: linearizability, causal, eventual W6
DIST-04 ✅ Кворумы чтения и записи (R + W > N) W6
DIST-05 ✅ Консенсус: Raft, leader election W6
DIST-06 ✅ Обнаружение отказов и мембершип: heartbeat, gossip, SWIM W7
DIST-07 ✅ Распределённые блокировки и lease W6
DIST-08 ✅ Распределённые транзакции: 2PC, saga, TCC W6
DIST-09 ✅ Генерация уникальных ID: Snowflake, UUIDv7, ULID W3
DIST-10 ✅ Время, версии, разрешение конфликтов, CRDT W6
DIST-11 ✅ Паттерны распределённых систем: обзор W4

B07 · Архитектурные стили#

topics/07-architecture-styles.md · 13 тем

ID Статус Тема Шаг
ARCH-01 ✅ Монолит, модульный монолит, микросервисы W4
ARCH-02 ✅ Границы сервисов и bounded context W4
ARCH-03 ✅ Внутренняя архитектура сервиса: слои, порты и адаптеры W4
ARCH-04 ✅ Event-driven: хореография vs оркестрация W4
ARCH-05 ✅ Оркестрация длительных процессов: workflow-движки W4
ARCH-06 ✅ CQRS W4
ARCH-07 ✅ Event sourcing W4
ARCH-08 ✅ Фоновые задачи и планировщики W4
ARCH-09 ✅ Serverless: когда выгоден и когда нет W10
ARCH-10 ✅ Service mesh, sidecar, BFF W4
ARCH-11 ✅ Клиентские архитектурные паттерны W4
ARCH-12 ✅ Cloud native W9
ARCH-13 ✅ Миграция монолита: strangler fig W4

B08 · Надёжность и отказоустойчивость#

topics/08-reliability.md · 12 тем

ID Статус Тема Шаг
REL-01 ✅ Таймауты, повторы, exponential backoff, jitter W7
REL-02 ✅ Circuit breaker и bulkhead W7
REL-03 ✅ Load shedding и приоритизация запросов W7
REL-04 ✅ Graceful degradation, фича-флаги, kill switch W7
REL-05 ✅ Health checks: liveness vs readiness W9
REL-06 ✅ Проектирование отказоустойчивости: обзор W7
REL-07 ✅ Ячеистая архитектура и радиус поражения W7
REL-08 ✅ Multi-AZ, multi-region, failover W7
REL-09 ✅ Бэкапы, DR, RPO и RTO W7
REL-10 ✅ Chaos engineering и game days W7
REL-11 ✅ Метастабильные отказы W7
REL-12 ✅ Серый отказ и differential observability W7

B09 · Безопасность#

topics/09-security.md · 13 тем

ID Статус Тема Шаг
SEC-01 ✅ Аутентификация: сессии vs токены W8
SEC-02 ✅ JWT: устройство и грабли W8
SEC-03 ✅ OAuth 2.0 и OIDC W8
SEC-04 ✅ Авторизация: RBAC, ABAC, ReBAC W8
SEC-05 ✅ Хранение паролей W8
SEC-06 ✅ Безопасность API: типовые угрозы W8
SEC-07 ✅ Типовые атаки: XSS, CSRF, SQL-инъекции, SSRF W8
SEC-08 ✅ Шифрование, управление ключами и секретами W8
SEC-09 ✅ Транспортная безопасность: TLS, mTLS, SSH W8
SEC-10 ✅ Безопасность цепочки поставок и зависимостей W9
SEC-11 ✅ Threat modeling W0
SEC-12 ✅ Аудит и трассируемость действий W9
SEC-13 ✅ Классификация данных и режим защиты W0

B10 · Доставка и эксплуатация#

topics/10-delivery-and-ops.md · 17 тем

ID Статус Тема Шаг
OPS-01 ✅ CI/CD W9
OPS-02 ✅ Стратегии выкатки: rolling, blue-green, canary W9
OPS-03 ✅ Окружения, тестовые данные и стенды W9
OPS-04 ✅ Bare metal, VM, контейнеры, Docker W9
OPS-05 ✅ Kubernetes: что решает и чего стоит W9
OPS-06 ✅ Конфигурация и IaC W9
OPS-07 ✅ Observability: метрики, логи, трейсы W9
OPS-08 ✅ Стоимость observability: кардинальность, сэмплирование, ретенция W10
OPS-09 ✅ SLI, SLO, error budget W0
OPS-10 ✅ Алертинг, дежурства, постмортемы W9
OPS-11 ✅ Ёмкость и автоскейлинг W1
OPS-12 ✅ Тестирование: пирамида, контрактные, нагрузочные W9
OPS-13 ✅ Отладка и диагностика в проде W9
OPS-14 ✅ DevOps, SRE, Platform Engineering: роли справка
OPS-15 ✅ Монорепозиторий vs полирепо справка
OPS-16 ✅ Релиз мобильных приложений справка
OPS-17 ✅ Когнитивная нагрузка команды W4

B11 · Производительность и стоимость#

topics/11-performance-and-cost.md · 11 тем

ID Статус Тема Шаг
PERF-01 ✅ Числа задержек и бюджет latency W1
PERF-02 ✅ Перцентили, tail latency, coordinated omission W1
PERF-03 ✅ Big-O и структуры данных в инфраструктуре справка
PERF-04 ✅ Конкурентность vs параллелизм W5
PERF-05 ✅ Оптимизация производительности API W5
PERF-06 ✅ Пулы соединений, N+1, батчинг W5
PERF-07 ✅ Закон Литтла, очереди, насыщение W1
PERF-08 ✅ Нагрузочное тестирование: методика W9
PERF-09 ✅ Профилирование и инструменты W5
PERF-10 ✅ Сборка мусора и её влияние на p99 справка
PERF-11 ✅ Стоимость, TCO, unit-экономика запроса W10

B12 · Кейсы#

topics/12-case-studies.md · 13 тем

ID Статус Тема Шаг
CASE-01 ✅ Сокращатель ссылок (подробный проход) подробный проход
CASE-02 ✅ Лента новостей (подробный проход) подробный проход
CASE-03 ✅ Чат / мессенджер (подробный проход) подробный проход
CASE-04 ✅ Rate limiter короткий разбор
CASE-05 ✅ Сервис уведомлений короткий разбор
CASE-06 ✅ Автодополнение поиска короткий разбор
CASE-07 ✅ Загрузка и раздача видео короткий разбор
CASE-08 ✅ Бронирование билетов: борьба за дефицитный ресурс короткий разбор
CASE-09 ✅ Платёжный поток короткий разбор
CASE-10 ✅ Геопоиск ближайших объектов короткий разбор
CASE-11 ✅ Дедупликация и top-K короткий разбор
CASE-12 ✅ Мультитенантный SaaS короткий разбор
CASE-13 ✅ Разборы реальных архитектур: Discord, Netflix, Stack Overflow, Hotstar, Google, Prime Video обзор

Итого 155 тем. Четыре из них — REL-11, REL-12, SEC-13 и OPS-17 — найдены исследованием поля.

Очередь работ: 96-backlog.md.