Чему вы научитесь
- Отличать задачи, которым нужен брокер, от задач, где он только добавит latency и точку отказа.
- Проектировать топики и выбирать ключ партиционирования так, чтобы нужный порядок сообщений сохранялся, а перекос нагрузки не убивал один консьюмер.
- Настраивать producer под требуемую надёжность: acks, min.insync.replicas, идемпотентность, батчинг.
- Считать, сколько партиций и консьюмеров нужно, и понимать, что именно ограничивает параллелизм.
- Управлять offset'ами и коммитами так, чтобы знать заранее, теряете вы сообщения или дублируете.
- Строить идемпотентную обработку и outbox-паттерн вместо веры в exactly-once между Kafka и базой.
- Настраивать retention и compaction под задачу и разбирать инциденты по consumer lag.
- Читать и объяснять поведение чужого кода с Kafka: почему ребалансировка, почему дубли, почему упорядоченность сломалась.
- Отличать событие от команды и выбирать, сколько данных класть внутрь события.
- Доводить распределённый процесс до конца через сагу: компенсации, таймауты, промежуточные состояния для пользователя.
- Получать события из чужой базы через CDC, не превращая её схему таблиц в публичный контракт.
- Объяснять, откуда берётся производительность Kafka и куда она девается на вашем профиле нагрузки.
- Настраивать права доступа и квоты так, чтобы чужая опечатка не ломала ваш сервис.
О курсе
Для кого этот курс
Начальные требования
Нужно понимать, что такое HTTP-запрос между сервисами, что такое база данных и транзакция, и уметь читать конфигурационные файлы в формате «ключ = значение». Опыт работы с Kafka не нужен: все понятия вводятся с нуля. Знание конкретного языка программирования не требуется — в курсе нет заданий на написание кода, разбираются схемы, конфигурации и архитектурные решения.
Преподаватели курса
Как проходит обучение
Курс состоит из семи содержательных модулей по три урока и отдельного итогового модуля. Урок — это пять шагов: теория (одна идея на урок), разбор этой идеи на сквозном примере «Арена», тест из 3–5 вопросов с пояснением к каждому варианту, практическое задание с эталонным разбором в спойлере и короткий итог. Тесты проверяются автоматически. Задания внутри уроков — с текстовым ответом и эталонным разбором для самопроверки. Каждый содержательный модуль заканчивается мини-проектом с эталонным решением в спойлере — его вы проверяете сами. Три задания в конце модулей 2, 4 и 7 дополнительно проверяются другими студентами по опубликованной рубрике. Последний урок курса — сводка изученного по всем модулям.
Что вы получите
- Готовую событийную схему сервиса, спроектированную своими руками: топики, ключи партиционирования, настройки надёжности продюсера и консьюмера, схема сообщений с правилами эволюции и план обработки сбоев через DLQ. Эти артефакты собираются из заданий и мини-проектов модулей 2–5 и годятся как заготовка для рабочего проектного документа и как материал для разговора на собеседовании.