Системный дизайн

2 участника

О чём курс

Авторы курса разбирают проектирование распределённых систем на сквозном кейсе сервиса такси и готовят к прохождению секции System design. Обучение построено вокруг поэтапной эволюции архитектуры: от работы монолита на одном сервере до масштабирования платформы в нескольких регионах.

В процессе работы над проектом вы научитесь рассчитывать нагрузку по метрикам RPS, DAU и объёмам хранения, выбирать базы данных и брокеры сообщений, а также заранее закладывать сценарии частичных сбоев и отказов отдельных зон доступности. Отдельное внимание уделено аргументации архитектурных решений и компромиссов на технических ревью и собеседованиях.

Кому подойдёт

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

  • бэкенд-, фронтенд- и фулстек-разработчикам уровня middle и middle+, чтобы научиться проектировать сервисы под высокую нагрузку, находить узкие места архитектуры и обосновывать решения на ревью;
  • тимлидам и техническим лидерам для проведения дизайн-ревью, своевременной оценки архитектурных рисков и планирования масштабирования сервисов при росте продукта;
  • инженерам перед техническими собеседованиями, чтобы освоить регламент секции System design, научиться укладываться в тайминг и уверенно защищать архитектурные компромиссы.

Как устроено обучение

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

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

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

Авторы

Основной автор курса — Кирилл Мокевнин, сооснователь Хекслета с 18-летним стажем в коммерческой разработке, в прошлом вице-президент по инжинирингу в undev и разработчик в Skype.

Соавтор курса — Виталий Лихачев, SRE-инженер в международном тревел-сервисе с опытом более 10 лет в бэкенде, фронтенде и инфраструктуре. В прошлом работал старшим разработчиком платформы авторизации в Avito Tech и создавал системы складского учёта в EPAM. Он регулярно проводит секции по архитектуре на технических собеседованиях.

Другие авторы

  • Кирилл Мокевнин

Программа обучения

  • Монолитное приложение:
    • Спроектируете первую версию сервиса такси и разберётесь, где находится реальный предел одного сервера. Подготовите монолит к росту нагрузки.
    • Работа сервера: CPU, память, процессы, потоки, сеть и системные лимиты
    • Требования и оценка нагрузки: DAU, RPS, пики и объём данных
    • Первая архитектура, модель поездки, транзакции и уровни изоляции
    • Индексы, планы запросов, нагрузочное тестирование и поиск узких мест
    • Горизонтальное масштабирование, балансировка, кэш и реплики
    • Выбор хранилищ, геопоиск, полнотекстовый поиск, конфигурация и секреты
    • Результат: масштабируемый монолит сервиса такси, рассчитанный на рост нагрузки.
  • События и стриминг:
    • Добавите в сервис такси событийный контур, обработку координат в реальном времени и отдельную систему аналитики.
    • Доменные события и контракты, надёжная публикация через transactional outbox и CDC
    • Очередь и распределённый журнал: партиции, порядок, consumer groups, offset и replay
    • Гарантии доставки, идемпотентность и обработка ошибок через dead-letter queue
    • Поток координат: event time, окна, watermarks и опоздавшие события
    • Пересчёт ETA и динамического тарифа, потоковые представления
    • Аналитический контур и вебхуки для внешних систем: подпись запроса, retries, backoff
    • Результат: событийный контур, поток координат и аналитика сервиса такси.
  • Распределённая система:
    • Разделите монолит на сервисы, распределите данные и подготовите приложение к работе в нескольких зонах доступности.
    • Границы сервисов и владение данными
    • API Gateway и внешние контракты
    • Межсервисное взаимодействие
    • Сеть и частичные отказы
    • Модели согласованности
    • Репликация данных
    • Кворумы и конфликты записи
    • Партиционирование данных
    • Распределённые транзакции и SAGA
    • Service discovery и внутренний DNS
    • Зоны доступности
    • Результат: мультисервисное приложение такси, работающее в нескольких зонах доступности.
  • Глобальная система:
    • Запустите сервис такси в нескольких регионах и спроектируете глобальную маршрутизацию, отказоустойчивость и безопасность.
    • Глобальная маршрутизация
    • CDN и edge кэширование
    • Мультирегиональные данные
    • Мультирегиональный событийный контур
    • Timeouts, deadlines и retries
    • Rate limiting и load shedding
    • Каскадные отказы и graceful degradation
    • Disaster recovery
    • Наблюдаемость и управление инцидентами
    • Безопасные изменения и миграции
    • Модель угроз и границы доверия
    • Пользовательские и сервисные identity
    • Защита чувствительных данных
    • Результат: глобальная маршрутизация, надёжность и безопасность сервиса такси.
  • System design интервью:
    • Перенесёте архитектурный подход на новые задачи и подготовитесь к прохождению секции System design.
    • Устройство секции и критерии оценки
    • Уточнение требований
    • Оценка нагрузки
    • High level design
    • Проектирование API и модели данных
    • Архетипы систем
    • Выбор deep dive
    • Презентация решения и защита компромиссов
    • Результат: готовое решение System design задачи и понятный план его презентации на собеседовании.
Складчина создана 4 ноября 2026 г.

Теги курса

Другие материалы автора 2

ВЛ Виталий Лихачев Все материалы
26 528 ₽ 45 000 ₽