System Design: проектирование масштабируемых систем

Научитесь проектировать нагруженные системы и обосновывать решения расчётом, на собеседовании и в работе. Вы оцениваете нагрузку и ёмкость, проверяете индексы, кэш и очереди на живых PostgreSQL, Redis и Kafka и смотрите, совпал ли расчёт с замером. Стенды открываются в браузере, ставить ничего не нужно. Курс для бэкенд-разработчиков от junior+ до senior.

Чему вы научитесь

Стенды прямо в браузере

В 74 уроках из 85 есть лабораторная с автопроверкой, 39 из них идут на живых PostgreSQL, Redis, Kafka, nginx и Prometheus. Docker и локальное окружение не понадобятся: стенд открывается в браузере, вы меняете конфигурацию, а проверка прогоняет запросы и показывает результат. ![Живой стенд PostgreSQL: план запроса до и после индекса](https://mentorix.ru/storage/uploads/brand/sd-stand-postgres.png)

**PostgreSQL.** Запускаете запрос, читаете EXPLAIN и подбираете индекс под узкое место. В разборе урока тот же запрос на 400 000 строк ускоряется с 8,9 до 0,05 миллисекунды.

**Redis.** По доле попаданий (hit rate) видно, когда кэш помогает, а когда вытеснение и устаревшие данные сами становятся проблемой.

**Kafka.** Раскладываете поток по партициям, настраиваете consumer groups и проверяете, что порядок сообщений сохраняется.

**nginx.** Таймауты, лимиты соединений, health check. Стенд прогоняет запросы через ненастроенный балансировщик и через ваш конфиг и сравнивает результат.

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

Как проходит обучение

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

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

Итоговый проект и экзамен

**Итоговый проект «От ТЗ до вердикта».** Вы получаете техническое задание с числами и проходите весь путь: оценка нагрузки, контракт API, план шардирования, SLO, настройка кэша, очереди и балансировщика. Промежуточный прогон в симуляторе проверяет ёмкость, кэш и шардирование. Полный прогон нагрузки выносит вердикт по потерям, p99 и стоимости, после него вы дорабатываете решение и разбираете компромиссы. ![Итоговый проект: от ТЗ до вердикта](https://mentorix.ru/storage/uploads/brand/sd-final-project.png)

**Экзамен: расследование инцидента.** Что сломалось, заранее не говорят. У вас есть журнал событий и дамп метрик, а причиной может быть перекос партиции, лавина кэша или исчерпанный пул соединений. Нужно поставить диагноз, подтвердить его данными, посчитать ущерб и написать постмортем.

Вопросы по курсу можно задать поддержке: t.me/mentorix_support

Для кого этот курс

Бэкенд-разработчикам, которые хотят системно разобраться в архитектуре.

Тем, кто готовится к собеседованию по System Design или уже путался на вопросах про нагрузку и масштабирование.

Тем, кому поручили спроектировать сервис, и решение придётся объяснять команде.

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

Что нужно знать

Опыт бэкенд-разработки: HTTP и API, реляционная база данных.

Базовый SQL и командная строка. Планы запросов и индексы разбираются с нуля.

Язык программирования любой: задачи на код принимаются на Go, Python, Java, JavaScript, Rust, C и C++.

Знать System Design заранее не нужно.

Программа курса

Модулей: 14, уроков: 85. Задачи с кодом проверяются автоматически.

  1. Измеримый System Design

  2. Оценка ёмкости и нагрузки

  3. Требования и контракты

  4. Хранение данных и индексы

  5. Репликация и консистентность

  6. Шардирование и масштабирование данных

  7. Кэширование

  8. Очереди и потоковая обработка

  9. Балансировка нагрузки и сети

  10. Надёжность: отказоустойчивость

  11. Наблюдаемость и SLO

  12. Инциденты: расследование по метрикам

  13. Эталонные системы и мост в реальность

  14. Финальный проект: от ТЗ до вердикта под нагрузкой

Стоимость курса: 25990 ₽

Открыть курс на Mentorix · Все курсы