Чему вы научитесь
- Глубоко понимать внутреннюю архитектуру: Работу брокеров, партиций, роль Контроллера кластера, механизм ISR (In-Sync Replicas) и принципы распределения данных.
- Оптимизировать Kafka производительность продюсеров и консьюмеров: Настройку ключевых параметров (acks, linger.ms, compression.type, batch.size для продюсеров; fetch.min.bytes, max.poll.records для консьюмеров) для достижения максимальной пропускной способности и минимальных задержек.
- Гарантировать надежную доставку данных: Реализацию идемпотентных продюсеров (enable.idempotence=true) с использованием API (initTransactions(), beginTransaction(), commitTransaction(), обработка ошибок).
- Обеспечивать Exactly-Once семантику: Понимать и применять транзакционную обработку как в продюсерах, так и в консьюмерах (isolation.level=read_committed).
- Строить сложные потоковые приложения с Kafka Streams: Создавать топологии (DAG), использовать процессоры (Processor, Transformer), управлять состоянием через StateStore, применять оконные агрегации (Tumbling, Hopping, Session Windows).
- Работать со схемами данных: Интегрировать Avro/Protobuf, использовать Confluent Schema Registry для управления версиями и совместимостью схем (BACKWARD, FORWARD, FULL), выполнять сериализацию/десериализацию.
- Обеспечивать безопасность кластера: Настраивать аутентификацию (SASL/SCRAM), шифрование (SSL) и авторизацию.
- Мониторить состояние кластера Kafka: Работать с ключевыми JMX-метриками (Lag, Request Latency), настраивать визуализацию в Grafana + Prometheus.
- Реализовывать паттерны отказоустойчивости: Создавать Dead Letter Queues (DLQ) для обработки некорректных сообщений, применять Retry-механизмы с экспоненциальным backoff.
- Гарантировать порядок обработки: Понимать и использовать гарантии порядка в рамках партиции.
- Решать сложные задачи с Kafka на Java: Строить транзакционные приложения (интеграция с БД с Debezium), реализовывать Real-Time аналитику с оконными функциями Streams.
О курсе
Добро пожаловать на курс обучения!
Этот курс предназначен для разработчиков и инженеров данных, которые хотят выйти за рамки базового использования Кафка и освоить его мощные возможности для построения высоконагруженных, отказоустойчивых и согласованных распределенных систем.
⭐ Вы погрузитесь в архитектуру Kafka "под капотом", чтобы понять, как работают брокеры, партиции, репликация и выбор лидера (unclean.leader.election), что критически важно для диагностики проблем и тонкой настройки.
⭐ Вы освоите профессиональную оптимизацию производительности продюсеров и консьюмеров, научившись балансировать между пропускной способностью, задержками и надежностью через настройку ключевых параметров.
⭐ Вы овладеете Kafka Streams для построения сложных Real-Time приложений обработки данных: от простых агрегаций до топологий с оконными функциями и состоянием, а также научитесь их тестировать с помощью TopologyTestDriver.
⭐ Вы получите ключевой навык для enterprise-разработки: реализацию Транзакций и Exactly-Once семантики (EOS). Вы научитесь создавать идемпотентных продюсеров Kafka, управлять распределенными транзакциями и гарантировать однократную обработку сообщений консьюмерами.
⭐ Вы научитесь эффективно управлять схемами данных с помощью Avro/Protobuf и Schema Registry, обеспечивая совместимость и эволюцию ваших данных в распределенной системе.
⭐ Вы освоите критически важные аспекты безопасности в Kafka (SASL/SSL/ACL) и профессионального мониторинга (JMX/Prometheus/Grafana) для промышленной эксплуатации кластеров.
⭐ Вы изучите продвинутые паттерны (DLQ, Retry с backoff) и антипаттерны для создания надежных и поддерживаемых приложений.
Этот курс – ваш путь к экспертизе в разработке высоконадежных, масштабируемых и эффективных систем.
Как устроено обучение?
Курс состоит из модулей, разделенных на множество уроков:
👉 Теоретические модули Kafka (разбор нюансов):
🔹 Архитектура: Брокеры, партиции, репликация, ISR, Контроллер, настройки надежности (unclean.leader.election).
🔹 Оптимизация производительности: Тонкая настройка продюсеров (acks, linger.ms, batch.size, compression) и консьюмеров (fetch.min.bytes, max.poll.records).
🔹 Надежность и согласованность: Идемпотентные продюсеры, Транзакции (API, обработка ошибок), Exactly-Once семантика, isolation.level.
🔹 Streams Advanced: Топологии (DAG), процессоры (Processor, Transformer), StateStore, оконные агрегации (Tumbling, Hopping, Session), тестирование (TopologyTestDriver).
🔹 Управление схемами: Avro/Protobuf, генерация классов, (де)сериализация, Schema Registry, стратегии совместимости.
🔹 Безопасность: SASL/SCRAM, SSL, ACL.
🔹 Мониторинг: Ключевые JMX-метрики, настройка Prometheus + Grafana.
🔹 Паттерны и Антипаттерны: Dead Letter Queue (DLQ), Retry-механизмы (Exponential Backoff), гарантии порядка.
👉 Разбор практических кейсов: Транзакции Kafka + БД (Debezium), Spring Boot, Real-Time аналитика, безопасный кластер.
🚩 Обратите внимание: курс предназначен для самостоятельного изучения без поддержки преподавателя!
Для кого этот курс
✅ Для инженеров данных (Data Engineers), строящих надежные и эффективные ETL/ELT конвейеры и потоковые приложения.
✅ Для архитекторов распределенных систем, которым необходимо глубокое понимание Kafka для проектирования масштабируемых и отказоустойчивых решений.
✅ Для всех, кому критически важны: надежность доставки данных (Exactly-Once), согласованность, производительность и безопасность в экосистеме.
Этот курс создан для профессионалов, которые желают:
💡 Стать экспертами Kafka: Понимать систему на уровне архитектуры и тонких настроек, а не только базового API.
💡 Строить промышленные решения: Реализовывать системы с гарантиями Exactly-Once, транзакционной целостностью и высокой доступностью.
💡 Эффективно решать сложные задачи: Обрабатывать потоки данных в реальном времени, управлять схемами, обеспечивать безопасность и мониторинг.
💡 Повысить свою ценность на рынке: Владение продвинутыми темами Kafka – ключевой навык для разработчиков и инженеров данных в высоконагруженных проектах.
💡 Применять в будущем знания полученные из курса: Через погружение представленных примеров кода и схем из реалистичных проектов, моделирующих задачи из реального мира.
Начальные требования
🧑💻 Обязательный опыт работы с:
🔹Java Core (Solid): ООП, Коллекции, Многопоточность (базовое понимание),
🔹Работа с Maven / Gradle. Уверенное владение.
🔹Базовый Кафка API: Умение создавать простые producer и consumer (KafkaProducer, KafkaConsumer). Понимание концепций Topic, Partition, Consumer Group, Offset.
🔹Базовое понимание распределенных систем.
🛠️ Технические требования:
🔹Компьютер / ноутбук с ОС: Windows 10 / 11, macOS, или Linux.
🔹Установленные: JDK 17+, Kafka , Докер.
🔹IDE (IntelliJ IDEA, Eclipse).
Наши преподаватели
Как проходит обучение
🚩 В конце каждого модуля вас ждет закрепление материала в виде тестов.
🚩 Реальные кейсы и код: В процессе обучения мы будем детально разбирать примеры кода из реальных промышленных сценариев использования Кафка, что даст вам практическое понимание реализации продвинутых фич.
🚩 Визуализация сложных концепций: Для лучшего понимания глубоких архитектурных аспектов (брокеры, партиции, репликация, потоки обработки) в курсе активно используются наглядные схемы (включая Mermaid-диаграммы). Схемы дополняют примеры кода, помогая увидеть "картину целиком".
Программа курса
Сертификат
Что вы получаете
- понимание архитектуры kafka с java: брокеры, партиции, репликация, isr, роль контроллера;
- навыки оптимизации производительности продюсеров (настройка acks, linger.ms, batch.size, compression.type) и консьюмеров (fetch.min.bytes, max.poll.records);
- умение реализовывать идемпотентных продюсеров (enable.idempotence=true);
- навык планирования гарантии exactly-once семантики (изоляция консьюмера read_committed);
- навыки анализа сложных потоковых приложений с kafka streams (топологии, процессоры, statestore, оконные агрегации);
- умение работать со схемами данных (avro/protobuf) и управлять ими через schema registry (стратегии совместимости);
- навыки настройки безопасности: sasl/scram, ssl, acl (-acls.sh);
- умение настраивать мониторинг кластера с помощью jmx, prometheus и grafana;
- знание и применение паттернов отказоустойчивости kafka: dead letter queue (dlq), retry с экспоненциальным backoff;
- понимание гарантий порядка обработки сообщений в партициях;
- понимание построения транзакционных приложений (интеграция кафка и бд через debezium);
- навык создания real-time аналитики с streams и оконными функциями;
- опыт развертывания и настройки безопасного кластера в docker + kafka + java;
- сертификат об окончании курса.