О чём курс
Этот тренинг будет полезен слушателям, которые работают с 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
Для кого
Разработчик
Data Engineer
DevOps-инженер
Тестировщик
Улучшаемые навыки
Kafka
Kafka Connect
Kafka Streams
ksqlDB
Big Data
CI/CD
Реальное время
Обработка данных
Архитектура
Производительность
Инструменты
Расписание курсов
Программа курса
Кластер, брокеры, клиенты
Топики и разделы
Очистка сегментов (retention, compaction)
Репликация, лидеры и следующие, ISR
Контроллеры, KRaft
Настройка производительности
Практика: запуск кластера, запись в и чтение сообщений из тем, работа с темами (вывод списка и описаний), работа с разделами (увеличиваем количество), изменение параметров тем, работа с сегментами (просмотр информации о сегментах, смещениях, записях), работа с репликами (проверка поведения при отказе брокера), тестирование производительности кластера.
02
Устройство Producer и Consumer
Внутреннее устройство: потоки, буферы, таймауты
Смещения, группы получателей
Автоматическое и ручное сохранение смещений
Перебалансировка группы
Практика: изучение влияния параметров производителя на производительность при отправке сообщений, проверяем влияние параметров потребителя на производительность при чтении сообщений.
Гарантии порядка сообщений
Гарантии доставки at least once, exactly once
Транзакции
Обработка ошибок и повторная передача
Сбои сети, брокеров и клиентов
Практика: разработка приложений, которые используют транзакции.
Конвейеры данных
Обзор Kafka Connect
Внутреннее устройство
Преобразования
Запуск Kafka Connect
Примеры коннекторов
Разработка коннекторов
Практика: работа с Kafka Connect — запуск разных сценариев интеграции с внешними системами.
Источники и приемники
Сериализация, SerDe, схемы сообщений
Окна
Преобразования
Агрегирование
Сохранение состояния
Транзакции
Processor API
Практика: разработка приложений Kafka Streams с использованием разных API.
Источники и приемники
Потоки и таблицы
Преобразования
Непрерывные запросы
Окна
Агрегирование
Транзакции
Развертывание кластера ksqlDB
Практика: работа с ksqlDB — интеграция с Kafka Connect, преобразования сообщений, непрерывные запросы.
07
Итого на курс 30 часов: теория – 15 ч ( 50%), практика – 15 ч ( 50%)
Чему вы научитесь
01
Углубить понимание архитектуры Kafka
02
Настроить и оптимизировать производительность Kafka
03
Создавать надежные приложения с использованием Kafka Connect и Kafka Streams
04
Развертывать и управлять кластерами ksqlDB
05
Применять концепции окон, агрегирования и непрерывных запросов в ksqlDB
Курс проводят
Заигрин Вадим
Специалист в области BigData
О тренере
Более 35 лет в ИТ, с 2016 года работает с большими данными как разработчик, Data Engineer и Data Scientist. Team Lead команд инженеров данных на разных проектах.
В рамках своей профессиональной деятельности :
- развивал проекты в банках, в телекоммуникационных и розничных компаниях.
-
разработал архитектуру миграции системы Teradata RTCM на Teradata VCX для телекоммуникационной компании.
-
разработал архитектура системы обработки данных на базе Hadoop для совместного проекта международной платежной системы и крупного банка.
-
разработал систему безопасности Hadoop на основе Atlas и Ranger.
-
тестировал системы безопасности Protegrity в Hadoop для крупного банка.
Практический опыт базируется на знании Hadoop (Cloudera, Hortonworks), MPP-системами (Teradata, Greenplum, Vertica), фреймворка Spark и платформ Google Cloud Platform и Yandex Cloud.
Образование:
Прикладная математика, Московский институт электроники и математики (МИЭМ)
Курсы и сертификаты