О чём курс
Этот тренинг будет полезен слушателям, которые работают с Apache Kafka и хотят углубить свои знания и навыки в этой области.
В рамках данного тренинга вы изучите различные аспекты Kafka, начиная с архитектуры и основных компонентов, таких как кластеры, брокеры и клиенты. Вы освоите концепцию топиков и разделов, а также настройку параметры производительности Kafka.
Тренинг также включает модуль, посвященный устройству Producer и Consumer. Вы освоите внутреннее устройство Kafka Producer и Consumer, включая потоки, буферы и таймауты, а также узнаете о смещениях, группах получателей и методах сохранения смещений.
В следующем модуле рассматривается надежная доставка сообщений. Вы ознакомитесь с различными гарантиями порядка сообщений и доставки, включая гарантии "at least once" и "exactly once", а также узнаете о транзакциях, обработке ошибок и повторной передаче сообщений.
Вы изучите Kafka Connect, инструмент для создания конвейеров данных, рассмотрите внутреннее устройство Kafka Connect, настройку и преобразованиях данных, примеры коннекторов.
Другой важный модуль тренинга посвящен Kafka Streams – библиотеке для обработки и анализа данных в реальном времени. Вы изучите такие концепции, как сериализация, окна, агрегирование и сохранение состояния, познакомитесь с Processor API и научитесь использовать Kafka Streams для создания потоковых приложений.
Тренинг завершается изучением ksqlDB – расширения Kafka, предоставляющего SQL-подобный интерфейс для работы с данными. В рамках данного модуля вы узнаете о потоках, таблицах, преобразованиях и непрерывных запросах в ksqlDB, а также ознакомитесь с методами развертывания кластера ksqlDB.
В каждом модуле тренинга предусмотрено выполнение практических заданий, которые помогут освоить знания и решать реальные задачи, связанные с обработкой данных в реальном времени.
Цели
- Углубить понимание архитектуры и функциональности Kafka;
- Овладеть навыками разработки с использованием Kafka, включая настройку Producer и Consumer, обработку ошибок, настройку параметров производительности и использование инструментов Kafka Connect, Kafka Streams и ksqlDB;
- Понять принципы надежной доставки сообщений и научиться их применять на практике.
Целевая аудитория
Разработчики, архитекторы, инженеры данных, DevOps-инженеры, тестировщики.
Предварительная подготовка
Обязательно:
- опыт работы с Kafka;
-
базовое знание Java \Scala.
Желателен опыт работы с Docker, Linux
Темы курса
01
Модуль 1. Архитектура Kafka (2 часа теории, 2 часа практики)
- Кластер, брокеры, клиенты
-
Топики и разделы
-
Очистка сегментов (retention, compaction)
-
Репликация, лидеры и следующие, ISR
-
Контроллеры, KRaft
-
Настройка производительности
Практика: запуск кластера, запись в и чтение сообщений из тем, работа с темами (вывод списка и описаний), работа с разделами (увеличиваем количество), изменение параметров тем, работа с сегментами (просмотр информации о сегментах, смещениях, записях), работа с репликами (проверка поведения при отказе брокера), тестирование производительности кластера.
02
Модуль 2. Устройство Producer и Consumer (1,5 часа теории, 1,5 часа практики)
- Внутреннее устройство: потоки, буферы, таймауты
-
Смещения, группы получателей
-
Автоматическое и ручное сохранение смещений
-
Перебалансировка группы
Практика: изучение влияния параметров производителя на производительность при отправке сообщений, проверяем влияние параметров потребителя на производительность при чтении сообщений.
03
Модуль 3. Надежная доставка (1,5 часа теории, 1,5 часа практики)
- Гарантии порядка сообщений
-
Гарантии доставки at least once, exactly once
-
Транзакции
-
Обработка ошибок и повторная передача
-
Сбои сети, брокеров и клиентов
Практика: разработка приложений, которые используют транзакции.
04
Модуль 4. Kafka Connect (4 часа теории, 4 часа практики)
- Конвейеры данных
-
Обзор Kafka Connect
-
Внутреннее устройство
-
Преобразования
-
Запуск Kafka Connect
-
Примеры коннекторов
-
Разработка коннекторов
Практика: работа с Kafka Connect — запуск разных сценариев интеграции с внешними системами.
05
Модуль 5. Kafka Streams (4 часа теории, 4 часа практики)
- Источники и приемники
-
Сериализация, SerDe, схемы сообщений
-
Окна
-
Преобразования
-
Агрегирование
-
Сохранение состояния
-
Транзакции
-
Processor API
Практика: разработка приложений Kafka Streams с использованием разных API.
06
Модуль 6. ksqlDB (2 часа теории, 2 часа практики)
- Источники и приемники
- Потоки и таблицы
- Преобразования
- Непрерывные запросы
- Окна
- Агрегирование
- Транзакции
- Развертывание кластера ksqlDB
Практика: работа с ksqlDB — интеграция с Kafka Connect, преобразования сообщений, непрерывные запросы.
07
Всего: теория – 15 ч. (50%), практика – 15 ч. (50%)