Курс · Java-трек
Apache Kafka для Java-разработчиков
От Producer и Consumer API до надёжной обработки событий
Producers, consumers и event-driven архитектура для реальных сервисов.
Основные занятия ведёт Сергей Валерьевич Герасименко — практикующий разработчик и основатель ТЕРАКОР и ТЕРАКОР Digital.
- Java 21
- Apache Kafka 4
- KRaft
- Kafka Streams
- Schema Registry
- REST Proxy
- Docker
Главные преимущества курса
✨ Мастерство работы с потоками данных — от основ до production-решений
EDA с нуля
От принципов событийной архитектуры до production-кластера Kafka
Потоковая обработка
Kafka Streams, KSQL, State Stores — аналитика в реальном времени
Exactly-Once
Транзакции, идемпотентность, гарантии доставки сообщений
Экосистема Kafka
Connect, Schema Registry, REST Proxy, Spring Kafka
О курсе
Apache Kafka — стандарт де-факто для построения высоконагруженных событийно-ориентированных систем
Объём программы
📚 Объём программы: 72 академических часов
• 24 академ/часов — занятия с преподавателем (лекции + практика)
• 48 академ/часов — самостоятельная работа, домашние задания, проекты
Формат
Онлайн
До 8 человек в группе
Индивидуальные консультации
Результат
Сертификат + Портфолио
8 практических работ
Финальный проект в портфолио
🛠 Технологический стек
🐘 Apache Kafka 3.x ☕ Java 21 LTS 📦 Kafka Streams 🗄️ Schema Registry 🔌 Kafka Connect 📊 KSQL / ksqlDB 🍃 Spring Kafka 🐘 PostgreSQL 🐳 Docker 📦 Maven/Gradle 🔀 Git/GitHubКому подойдёт курс?
- Java-разработчикам, которым нужно интегрировать Kafka и понимать поведение системы при сбоях.
- Java Core, коллекции, исключения, основы многопоточности, Maven и Docker.
- Для основного пути Spring не обязателен.
Отзывы о курсе
Мнения выпускников курса «Apache Kafka: инженерия событийно-ориентированных систем»
Обучение лично у основателя ТЕРАКОР
Сергей Валерьевич Герасименко
Руководитель ТЕРАКОР Digital · ведущий преподаватель
Ближайший поток стартует в первый понедельник следующего месяца · осталось 4 места
Возможны вечерние занятия и обучение в выходные.
Все основные программы центра ведёт Сергей Валерьевич Герасименко — практикующий full-stack разработчик, технический директор и основатель ТЕРАКОР и ТЕРАКОР Digital.
Вы обучаетесь не у преподавателя-теоретика, а у специалиста, который сам разрабатывает программные системы и применяет технологии в коммерческих проектах.
Один руководитель.Два направления.Единая инженерная практика.
Сергей Герасименко — ведущий преподаватель и практикующий разработчик с многолетним опытом преподавания в ведущих учебных центрах страны. Проектирует современные программные системы и переносит рабочие инженерные практики в обучение.
-
17+
лет в Enterprise-разработке
-
25 000+
специалистов подготовил
-
5 000+
технических собеседований провёл
Enterprise-опыт, а не пересказ документации
Создавал программное обеспечение для Управления ОАО «РЖД» и спроектировал корпоративную систему «САОС» для массовых опросов. Система победила в конкурсе инновационных проектов РЖД и сегодня используется в крупных организациях. На занятиях Сергей разбирает именно те задачи, с которыми разработчики сталкиваются в реальных коммерческих компаниях.
Знает требования рынка изнутри
Проводит tech-собеседования для банков и IT-команд. На курсе — Spring Boot 4, Kafka 4, Core, SQL и архитектура. Mock-собеседования для выпускников включены.
Программа курса выстроена на основе реальных требований работодателей — именно тех, которые Сергей проверяет на собеседованиях каждый день.
Ключевые компетенции
-
Enterprise-архитектура — проектирование высоконагруженных систем (опыт в ОАО «РЖД»)
-
Java-экосистема — Java 21, Spring Boot 4, Spring AI: от основ до production-паттернов
-
Распределённые системы — практический опыт с Kafka 4 и микросервисной архитектурой
-
Базы данных — PostgreSQL на уровне production: оптимизация запросов, проектирование схем
-
System Design — подготовка к архитектурным секциям собеседований уровня Middle+
-
Техническое интервью — 5 000+ проведённых собеседований для банков и IT-компаний
Состав программы
Что входит в программу
24 ак. ч. с преподавателем · 48 ак. ч. самостоятельно · всего 72 ак. ч. Каждый модуль — проектный этап с критериями приёмки.
Архитектура Kafka и локальный стенд
- Распределённый лог, события и команды; отличие от очереди задач.
- Kafka 4 и KRaft; broker, controller, topic и partition.
- Ключ и порядок внутри партиции; replication factor и ISR.
- Retention и compaction; delivery semantics.
- Docker Compose и CLI; учебный single-broker стенд и ограничения отказоустойчивости.
Проект этапа
CarEvents Setup: первый поток событий
Задача: Развернуть Kafka, создать cars, отправить и прочитать JSON-события. Сравнить распределение записей с ключом и без него.
Результат: Compose-файл, команды CLI и схема топиков.
Критерии приёмки
- Стенд запускается по README.
- Автор объясняет порядок в партиции и отсутствие глобального порядка.
- Single-broker стенд не выдаётся за отказоустойчивый кластер.
Producer API и надёжная публикация
- ProducerRecord, ключ Long и JSON value; metadata и callback.
- acks, retries, delivery timeout и enable.idempotence.
- Batching, linger и compression: измерение компромиссов.
- Ошибки сериализации и доставки; flush и close.
- Контракт CarEvent: eventId, eventType, occurredAt и данные автомобиля.
Проект этапа
CarEvents Producer: публикация изменений
Задача: Написать producer для создания и изменения автомобиля. Фиксировать результат отправки, сохранять стабильный ключ автомобиля.
Результат: Java producer и конфигурация надёжной отправки.
Критерии приёмки
- Ошибка отправки не теряется в callback.
- События одного автомобиля имеют одинаковый ключ.
- Различаются идемпотентность producer и дедупликация бизнес-событий.
Consumer API и управление смещениями
- poll loop, subscription, consumer group и rebalance.
- Ручной commit после обработки; окно повторной доставки.
- max.poll.interval и max.poll.records; обработка длинной задачи.
- Consumer не потокобезопасен; корректное завершение через wakeup.
- Невалидное событие, повтор и dead-letter topic.
Проект этапа
CarEvents Consumer: устойчивое чтение
Задача: Обновлять представление автомобилей в учебном хранилище, обрабатывать дубликаты по eventId и проверять перезапуск потребителя.
Результат: Consumer и протокол эксперимента с остановкой.
Критерии приёмки
- Offset не подтверждается до успешной обработки.
- Повтор события не повторяет бизнес-эффект.
- Ошибочная запись не блокирует обработку бесконечно.
Admin API и сериализация
- AdminClient: создание, описание и конфигурация топиков.
- Partitions, consumer groups и просмотр offsets.
- Увеличение числа партиций и влияние на распределение ключей.
- Serializer/Deserializer; Long key и JSON value.
- Валидация payload и обработка неизвестного типа события.
Проект этапа
CarEvents Admin: управление стендом
Задача: Написать утилиту создания cars_admin и диагностики топиков. Добавить JSON-сериализатор и отрицательные проверки.
Результат: Admin CLI на Java, сериализаторы и тестовые сообщения.
Критерии приёмки
- Повторный запуск создания корректно обрабатывает существующий топик.
- Битый JSON даёт диагностируемую ошибку.
- Утилита показывает конфигурацию и число партиций.
Транзакции и границы exactly-once
- Idempotent producer и transactional.id.
- initTransactions, begin/commit/abortTransaction.
- Read-process-write и sendOffsetsToTransaction.
- isolation.level=read_committed; aborted records.
- Граница гарантий Kafka: внешняя БД требует отдельного решения.
Проект этапа
CarEvents Transaction: атомарное преобразование
Задача: На готовом каркасе прочитать события, записать результат в другой топик и подтвердить offsets в одной Kafka-транзакции.
Результат: Транзакционный процессор и сценарии commit/abort.
Критерии приёмки
- read_committed не видит результат отменённой транзакции.
- При повторном запуске проверено согласованное продвижение offsets.
- Автор не распространяет exactly-once автоматически на внешнюю БД.
Kafka Streams и агрегаты
- Topology, KStream и KTable.
- groupByKey, count и aggregate; Serdes.
- State store и changelog.
- Окна, event time и поздние события на простом примере.
- TopologyTestDriver; joins и Processor API - обзор.
Проект этапа
CarEvents Analytics: статистика по маркам
Задача: На подготовленной topology создать агрегат числа событий по марке автомобиля и вывести результат в топик.
Результат: Streams-приложение и детерминированный тест topology.
Критерии приёмки
- Набор входных событий даёт ожидаемый агрегат.
- Ключ агрегата и Serdes заданы явно.
- Различаются число событий и число уникальных автомобилей.
Схемы и эволюция контрактов
- Avro, Protobuf и JSON: задачи форматов.
- Schema Registry как отдельный компонент экосистемы.
- Subject, version и compatibility policy.
- Добавление необязательного поля и несовместимое изменение.
- Совместная работа старого consumer и нового producer.
Проект этапа
CarEvents Schema: безопасное изменение события
Задача: На готовом стенде зарегистрировать Avro-схему, добавить поле с default и проверить несовместимое изменение.
Результат: Две версии схемы и результаты проверок совместимости.
Критерии приёмки
- Совместимое изменение принято registry.
- Несовместимое изменение отклонено.
- Consumer читает сообщения старой и новой версии.
REST-интеграция
- Confluent REST Proxy как отдельная HTTP-прослойка.
- HTTP-запросы к топику; media types и формат payload.
- Consumer instance, subscription и чтение через REST.
- Статусы, тайм-ауты и закрытие consumer instance.
- Доступ и ограничения REST-пути по сравнению с Java client.
Проект этапа
CarEvents HTTP: внешняя интеграция
Задача: Подготовить curl-сценарии публикации и чтения; проверить невалидное сообщение и очистку экземпляра consumer.
Результат: Набор curl-команд и описание последовательности вызовов.
Критерии приёмки
- Команды воспроизводятся на предоставленном стенде.
- HTTP-ошибка обработана и объяснена.
- Consumer instance удаляется после завершения работы.
Эксплуатация и защита проекта
- Consumer lag, throughput и ошибки клиентов.
- Retention, дисковое место и признаки перегрузки.
- TLS/SASL и ACL: назначение, обзор готовой конфигурации.
- Connect, ksqlDB и Spring Kafka: границы применения, демонстрация.
- Защита сквозного сценария и разбор сбоя.
Проект этапа
CarEvents Release: наблюдаемый поток
Задача: Объединить producer, consumer и Streams, показать повтор события, остановку потребителя и восстановление обработки.
Результат: Итоговый репозиторий и краткая инструкция диагностики.
Критерии приёмки
- Демонстрация включает штатный сценарий и сбой.
- Lag наблюдается при остановке и сокращается после возобновления.
- Автор объясняет гарантии своего решения и ограничения стенда.
Итоговый проект: CarEvents
CarEvents: система событий автомобильного каталога. Java-приложения публикуют изменения автомобилей, потребители обновляют представление данных, Kafka Streams рассчитывает агрегаты. Ошибочные события направляются в отдельный топик.
- CarEvents Setup: первый поток событий
- CarEvents Producer: публикация изменений
- CarEvents Consumer: устойчивое чтение
- CarEvents Admin: управление стендом
- CarEvents Transaction: атомарное преобразование
- и ещё 4 проектных этапов программы
Чему вы научитесь
Результаты программы — то, что проверяется на защите итогового проекта
Проектировать топики, ключи и consumer groups.
Настраивать Producer/Consumer и управлять offsets.
Использовать Admin API и контракты событий.
Проверять транзакционную обработку и ограничения exactly-once.
Создавать потоковую агрегацию и диагностировать отставание потребителей.
Стоимость обучения
объём 72 ак. ч. (24 с преподавателем + 48 самостоятельно) — выберите формат сопровождения
Базовый
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 6 месяцев
- Индивидуальные консультации
⭐ Стандарт
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания с проверкой
- Доступ к материалам 1 год
- 4 индивидуальные консультации
Премиум
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания с код-ревью
- Доступ к материалам 2 года
- 8 индивидуальных консультаций
- Помощь с трудоустройством
Индивидуальное обучение
Персональная программа «Kafka-инженер» под ваш уровень
Темы можно выбирать из программы курса: берём только нужные разделы, разбираем ваш проект и двигаемся в удобном темпе.
- Индивидуальный план под ваш проект
Сфокусируемся на нужных вам паттернах Kafka - Гибкий график
Занятия в удобное для вас время - Только актуальные технологии
Kafka 3.x, Streams, Connect, Schema Registry - Проект в портфолио
Реальная событийно-ориентированная система - Максимум внимания
Разбор сложных тем до полного понимания
Отзывы выпускников
💬 Что говорят студенты о курсе Kafka
Алексей Воронов
Kafka раскрылась полностью! Раньше боялся потоковой обработки, а после курса сам настроил кластер и написал Streams-приложение. Огромное спасибо за практику!
Екатерина Смирнова
Внедряли Kafka на проекте. Курс дал полное понимание Exactly-Once семантики и Schema Registry. Теперь веду направление событийной архитектуры в компании.
Игорь Токарев
Брал интенсив по Kafka Streams. Разобрали production-кейсы, настройку State Stores и Windowed операций. Сергей — топ-эксперт в своем деле!
ТЕРАКОР · ул. Каланчёвская, д. 15, м. Каланчёвская (по предварительной записи)
Открыть на Яндекс.КартахЧасто задаваемые вопросы
🤔 Ответы на популярные вопросы о Kafka