Курс на Stepik
Обложка курса «System design: архитектура бэкенда и межсервисное взаимодействие» на Stepik
9 990 ₽

System design: архитектура бэкенда и межсервисное взаимодействие 0.000

Открыть на
STEPIK.ORG

Проектируйте бэкенд-системы не по шаблонам, а через требования, расчёты, отказы и компромиссы. Разберите границы сервисов, события, очереди, согласованность, масштабирование и SLO — на примере службы доставки и реальных сценариях сбоев. Итог: собственный дизайн-док, который можно защищать на ревью и system design-интервью.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «System design: архитектура бэкенда и межсервисное взаимодействие»Учеников на курсе 1
Сертификаты, выданные на курсе «System design: архитектура бэкенда и межсервисное взаимодействие»Сертификатов выдано 0
Отзывы о курсе «System design: архитектура бэкенда и межсервисное взаимодействие»Отзывов получено 0
Рейтинг курса «System design: архитектура бэкенда и межсервисное взаимодействие»Рейтинг курса 0.000
Уроки в курсе «System design: архитектура бэкенда и межсервисное взаимодействие»Количество уроков 73
Тесты в курсе «System design: архитектура бэкенда и межсервисное взаимодействие»Количество квизов 434
Стоимость курса «System design: архитектура бэкенда и межсервисное взаимодействие»Стоимость курса 9 990 ₽
Обновления курса «System design: архитектура бэкенда и межсервисное взаимодействие»Обновления курса
Дата публикации курса «System design: архитектура бэкенда и межсервисное взаимодействие»Дата публикации курса
Последнее обновление курса «System design: архитектура бэкенда и межсервисное взаимодействие»Последнее обновление
Сложность normal

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

  • Проходить секцию системного дизайна способом думать, а не заученным шаблоном: разворачивать задачу, считать, рисовать, называть компромиссы вслух и выдерживать встречные вопросы
  • Проводить границу внутри системы: решать, что остаётся модулем, а что становится сервисом, и обосновывать это владением данными и темпом изменений, а не модой на распил
  • Называть режим отказа по симптому — дубль, потеря, перестановка, рассогласование, каскад — и подбирать защиту, зная, что она гарантирует и чем за это платит
  • Разворачивать расплывчатую задачу в требования с числами и считать систему на салфетке: RPS, объём хранения, число обработчиков — чтобы проверить счётом, нужна ли ей распределённая архитектура вообще
  • Проектировать поток событий: выбирать между очередью и логом, задавать ключ партиционирования, делать потребителя переживающим повтор, планировать DLQ и повторную обработку
  • Проводить длинный бизнес-процесс через несколько сервисов, не теряя событий: outbox, CDC, сага с компенсациями — и объяснять, почему запись в базу и в брокер сразу это баг, а не оптимизация
  • Проектировать межсервисный контракт и проводить его через изменение схемы, не сломав ни одного потребителя: идемпотентность, единый формат ошибок, совместимость версий
  • Говорить, что именно система гарантирует при отказе узла и разрыве сети: кворум, выбор лидера, порядок событий, CAP и PACELC как формулировка выбора, а не как слоган
  • Разводить путь чтения и путь записи и называть окно рассогласования каждой копии данных: проекции, CQRS, кэш и его инвалидация между сервисами
  • Проектировать рост: stateless-слой, балансировку, шардирование с честным ключом, репликацию чтения и осознанную жизнь с лагом
  • Делать систему наблюдаемой по устройству — сквозной контекст запроса через HTTP и брокер, метрики по RED и USE, SLO с бюджетом ошибок — и проверять архитектурную гипотезу до прода контрактом, внесённым отказом и нагрузочным профилем
  • Проводить систему через изменение без простоя и записывать решения так, чтобы через полгода их можно было понять и оспорить по существу

О курсе

Проектируйте бэкенд-системы не по шаблонам, а через требования, расчёты, отказы и компромиссы. Разберите границы сервисов, события, очереди, согласованность, масштабирование и SLO — на примере службы доставки и реальных сценариях сбоев. Итог: собственный дизайн-док, который можно защищать на ревью и system design-интервью.

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

Курс для тех, кто уверенно пишет бэкенд-сервисы, но архитектуру до сих пор получал готовой — и в момент, когда решение надо принять и защитить самому, опоры не оказывается. Разработчик, который сидит в монолите, спроектированном до него. Распределённую систему вживую мог не видеть: ни брокера, ни второго сервиса. Отсюда и ощущение «мне ещё рано», хотя дальше по коду он давно готов. Разработчик внутри зоопарка сервисов, где «здесь очередь, потому что исторически». Он не может отличить осознанное решение от наследственной ошибки, которую все обходят, — и повторяет местные обычаи, не понимая, что они покупают. Тот, кому поручили распил: «вынеси это в сервис к следующему спринту». Написать сервис он может. Провести границу — вопрос без ответа. Тот, кто целится на грейд выше и видит в вакансиях распределённые системы, брокеры, микросервисы и system design — при том что код пишет не хуже тех, кого туда берут. Тот, кто много читал и смотрел, но знание лежит словарём, а не инструментом: на планировании звучит «нужна ли тут очередь?», и из всего прочитанного не достаётся ничего. Кому не сюда. Тому, кто ещё не написал ни одного сервиса: курс начинается с уровня, где маршруты, ORM и Docker уже в руках. Тому, кто ищет код на своём фреймворке или готовые реализации паттернов, — здесь проектирование, а не библиотеки. Тому, кто хочет администрировать Kafka, PostgreSQL или Kubernetes: это соседние профессии. И тому, кому нужен курс про распил на микросервисы как цель, — здесь микросервис всегда приходит со счётом, и «когда не надо» разбирается наравне с «как».

Начальные требования

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

  • Пишешь бэкенд-сервис на каком-либо языке: маршруты, обработчики, слои, зависимости.
  • Понимаешь HTTP и REST на рабочем уровне: методы, коды ответов, тело запроса, заголовки.
  • Работаешь с реляционной базой через ORM или SQL: таблицы, связи, транзакция как понятие.
  • Запускаешь приложение в Docker и умеешь прочитать файл docker compose.
  • Терминал: запустить команду, посмотреть логи, зайти в контейнер.

Что нужно на машине

  • Ноутбук с Docker и Docker Compose: macOS, Linux или Windows с WSL2.
  • Около 4 гигабайт свободной оперативной памяти на профиль стенда — тяжелее ни один модуль не требует.
  • Терминал и git, чтобы забрать репозиторий стенда. Всё остальное приезжает образами по ходу курса.

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

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

Преподаватели курса

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

Короткие шаги, каждый устроен одинаково: разбор механики, артефакт, вопрос, на который без разбора не ответишь.

Квизы-диагностики — основная проверяемая форма. Это не проверка памяти на термины. На входе всегда артефакт: timeline двух сервисов, лог повторов, трейс, порвавшийся о брокер, фрагмент контракта, набор метрик, конфигурация брокера. А вопрос звучит как «что окажется в базе», «почему сервис не встаёт после перезапуска», «где потерялся контекст запроса», «что вернуть клиенту сейчас». Неверный вариант — это типичная ошибка проектирования, а не глупость, и объяснение механики приходит вместе с ответом. Первая ошибка здесь обычно случается быстрее, чем ожидаешь, — это и есть самая честная проверка, не пересказ ли это докладов, которые ты уже смотрел.

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

Проектные шаги и дизайн-док. В конце модуля — не «повтори за автором», а спроектируй своё: проведи границу, выбери обмен, спроектируй поток событий, напиши ADR, защити решение. Шаг даёт шаблон раздела и критерии, по которым решение считается защищённым, а сразу за ним идёт квиз по этим критериям — чтобы проектный шаг оставил след, а не ощущение.

Чего здесь нет: задач с автопроверкой кода. Это осознанное решение, а не недоделка. Автопроверка на Stepik означала бы конкретный язык — то есть половину аудитории за бортом, — а курс языконезависим по устройству. Проверяемость держится на другом: квиз ловит ошибку рассуждения, стенд показывает поведение системы, дизайн-док остаётся у тебя как доказательство. Если тебе нужно «прошёл тесты — значит умею», честнее знать это до покупки.

Гильдия вайба — сообщество курса. Проходить в одиночку не обязательно, и здесь это особенно заметно: архитектурное решение нельзя проверить компилятором, его проверяют встречным вопросом. В Гильдию приносят не сломанный код, а схему — «нам говорят пилить, вот мой дизайн, где я не прав», — и получают ревью, которого на работе часто просто нет. Там же помощь по шагам, разбор чужих архитектур, поиск тиммейтов и общение с теми, кто идёт тем же путём. Правило простое: чем активнее участвуешь, тем больше берёшь от курса.

Что вы получите

  • Собственный дизайн-док службы доставки: требования и числа, карта границ с хозяевами данных, контракты, поток событий, каталог отказов, SLO, ADR. Документ, который можно принести на ревью и открыть на секции системного дизайна
  • Каталог отказов «симптом — механика — защита — цена» — рабочая шпаргалка, по которой поломка называется за секунды, а не подбирается наугад
  • Набор собственных ADR и навык писать их так, чтобы через полгода решение можно было понять и оспорить по существу — с названной альтернативой и названной ценой
  • Отработанный формат системного дизайна вслух: порядок разбора, распределение времени, ответ на встречный вопрос — на двух полных разборах (распродажа билетов, маркетплейс с внешними продавцами) и на защите своего дизайна
  • Стенд, который остаётся у тебя: монолит, брокеры, кластер из трёх узлов, разрываемая сеть. Сцены можно перезапускать, когда тема всплывёт на работе
  • Способность назвать вслух, что покупается, чем оплачивается и какая была альтернатива, — и выдержать три встречных вопроса, а не сдаться на первом
  • Доступ в Гильдию вайба, который не кончается вместе с курсом: место, куда приносят архитектурное решение на ревью

Нагрузка

10-15 часов в неделю

Расскажите о курсе друзьям