Программные инструменты
24 ак.часа
Основы Apache Kafka для разработчиков
-
Целевая аудитория
✓Software-/Backend-/Data-инженеры и DevOps/SRE-специалисты, которые интегрируют микросервисы, стриминг или ETL-конвейеры на базе Kafka✓Архитекторы, отвечающие за выбор технологий обмена сообщениями и построение отказоустойчивых систем✓Команды, мигрирующие с традиционных брокеров (RabbitMQ, ActiveMQ, Pulsar и др.) на Kafka
-
О КУРСЕИнтенсивный курс поможет быстро пройти путь от базовых понятий до уверенной разработки и эксплуатации потоковых решений в продакшене. На лекциях, демо и лабораторных вы освоите архитектуру Kafka, научитесь писать продюсеров/консьюмеров, строить стриминговые приложения с Kafka Streams и ksqlDB, подключать внешние системы через Kafka Connect и оптимизировать кластеры под реальные нагрузки. Программа включает множество «живых» кейсов, типовых проблем эксплуатации и лучшие практики масштабирования
1. Введение в Apache Kafka
- Определение и основные понятия: что такое Apache Kafka и для чего он используется
- История развития и архитектура Kafka
- Сравнение с другими системами обмена сообщениями
- Основные компоненты Kafka: брокеры, темы, партиции, потребители, производители
- Сценарии использования Kafka в реальных проектах
2. Работа с темами и партициями
- Создание и управление темами
- Распределение партиций и реплик по брокерам
- Настройка факторов репликации и гарантии доступности данных
- Стратегии назначения ключей и распределения данных по партициям
3. Prоducers и consumers в Kafka
- Подключение и настройка производителей данных
- Отправка сообщений в Kafka: синхронный и асинхронный режимы
- Обработка ошибок и управление потоками данных
- Работа с потребителями: подписка на темы, чтение и обработка сообщений
- Управление смещением (offset) и гарантированная доставка сообщений
4. Продвинутые возможности Kafka
- Использование Kafka Connect для интеграции с внешними системами
- Работа с Kafka Streams для обработки потоковых данных
- Processor API
- Интеграция Kafka с другими инструментами экосистемы Hadoop (например, Spark, Flink)
- Применение Kafka в микросервисной архитектуре
5. Масштабирование и оптимизация Kafka
- Принципы горизонтального масштабирования кластера
- Оптимизация производительности: настройка буферов, оптимизация сетевых параметров
- Управление хранением данных и очистка устаревших данных
- Рекомендации по настройке Kafka для различных сценариев использования
6. Внутренняя архитектура
- Особенности хранения данных
- Сериализация и десериализация данных и Confluent Registry
- Компактируемые топики и retension
- Конфигурация и производительность процесса работы с данными в Kafka
- ksqlDB как способ создания не сложных потоковых приложений
- использование Producer и Consumer API с другими языками программирования
-
Для успешного прохождения курса необходимы:
- Уверенное владение одним из языков программирования (Java/Scala/Kotlin/Python/Go)
- Базовое понимание TCP/IP, HTTP, Docker и Linux-CLI
- Представление о принципах распределённых систем, очередях сообщений или микросервисной архитектуре приветствуется, но не обязательно
-
По окончании курса слушатели смогут:
- Развёртывать и настраивать отказоустойчивые кластеры Kafka, управлять темами, партициями и репликацией
- Разрабатывать эффективных производителей и потребителей с гарантированной доставкой сообщений и управлением offset-ами
- Интегрировать Kafka с внешними БД, API и облачными сервисами через Kafka Connect и собственные коннекторы
- Создавать потоковые приложения с Kafka Streams, Processor API и ksqlDB для real-time аналитики
- Оптимизировать производительность кластера (буферы, сжатие, сетевые параметры, retention, compaction)
- Внедрять Kafka в микросервисные ландшафты, обеспечивая масштабирование, мониторинг и observability


