DEVKI: Apache Kafka для разработчиков

Все курсы

Apache Kafka для инженеров данных

Код курса Даты начала курса Стоимость обучения Длительность обучения Формат обучения
DEVKI
27 мая 2024
04 сентября 2024
72 000 руб. 24 ак.часов Дистанционный
Регистрация

3х-дневный курс для специалистов, желающих получить и систематизировать знания по использованию Apache Kafka для программирования распределенной обработки потоков событий (Event Stream Processing) на практических примерах с потоковыми данными в реальном времени.

Курс содержит расширенные сведения по написанию программ работы с распределенным журналом Kafka, использованию его в парадигмах Pub/Sub и Message Queue и обработки потоковых данных с соблюдением best practices.

В теоретической части вы узнаете о наиболее важных API, архитектуре Kafka и внутренних принципах работы основных API Apache Kafka (Producer API, Consumer API, Streams API, Connect API), а также об особенностях реализации Apache Kafka и некоторых интересных концепциях, таких как exactly once semantics, компактируемых логах, Kafka DSL и др.

Программа курса "Apache Kafka для инженеров данных"

1. Основные концепции и архитектура Apache Kafka

  • Архитектура и история возникновения Kafka
  • Основные абстракции и понятия
  • Основные API
  • Изучим основные компоненты и API Kafka, принципы их взаимодействия и killer features.

2. Topic, partition и offset в Apache Kafka

  • Понятие топика, раздела и смещения
  • Управление Topic-ами из консоли
  • Отслеживание последнего прочитанного сообщения
  • Семантики доставки сообщений (at least once, at most once, exactly once)

Разберемся в анатомии топика, использовании механизмов партиционирования и consumer групп.

3. Producer API

  • Публикация сообщений с помощью кода

Погрузимся в детальную настройку и использование Kafka Producer-а и best practices на стороне производителя сообщений.

4. Consumer API

  • Прием сообщений point-to-point
  • Kafka Broadcasting и группы. Гибкий процесс приема сообщений.

Научимся принимать сообщения и на практике реализуем минимальное приложение, работающее с Kafka.
Познакомимся с концепцией групп (consumer groups) и научимся настраивать группы для работы с сообщениями в режиме broadcasting.

5. Потоковая обработка в Kafka

  • Архитектура Kafka Streams
  • Потоковая обработка в Apache Kafka. Основные абстракции Kafka Streams

Изучим общие принципы и приемы в процессе работы с Kafka Streams.

6. Kafka Streams DSL

  • Kafka Streams DSL — теория и практика
  • Создание Kafka Streams приложения

Изучим специализированный язык описания (DSL) потоков данных в Kafka и научимся его использовать.
Напишем базовое Kafka Streams приложение.

7. Processor API

  • Использование Processor API

Научимся работать на “низком” уровне – создавать топологии и перенаправлять по ним сообщения, использовать расписание (punctuator).
Напишем приложение с использованием Processor API.

8. Kafka Connect

  • Архитектура Kafka Connect
  • Виды Kafka Connector-ов
  • Готовые Connector и Confluent HUB
  • Connect API

Разберемся в том, какие готовые Connector-ы есть для Kafka, создадим собственные Source и Sink коннекторы.

9. Inside Kafka

  • Особенности хранения данных
  • Сериализация и десериализация данных и Confluent Registry
  • Компактируемые топики и retension
  • Конфигурация и производительность процесса работы с данными в Kafka
  • ksqlDB как способ создания не сложных потоковых приложений
  • использование Producer и Consumer API с другими языками программирования

Познакомимся с внутренним устройством топиков, партиций и сегментов. Поймем влияние параметров конфигурации на производительность процесса публикаци и потребления сообщений.
Научимся сериализовать и десериализовать данные с использованием Avro, познакомимся с ksqlDB, его особенностями и применимостью. На примере python API познакомимся с тем, как можно использовать Kafka не из Java.

Вы освоите следующие компоненты платформы Apache Kafka

Producer и Consumer API — базис для работы с Apache Kafka, единственный способ записать информацию в Kafka и считать ее из Kafka. Знакомясь с этими API, вы узнаете, как работают механизмы сериализации и десериализации данных в Apache Kafka.

Streams API — построение потоковых приложений, читающих данные из топиков Kafka, обрабатывающих их в реальном масштабе времени и записывающих результаты обработки обратно в Kafka. Вы познакомитесь с наиболее важными трансформациями Stream DSL, особенностями использования Processor API.

Kafka Connect — платформа масштабируемого и надежного перемещения большого объема потоковых данных между Kafka и другими системами. Kafka Connect предлагает API, Runtime и REST Service, что позволяет разработчикам создавать собственные коннекторы, которые перемещают большие объемы данных в Apache Kafka и из него в режиме реального времени.

На практике вы напишете несколько собственных приложений, включая свой Producer и Consumer, приложение Kafka Streams, коннекторы Source и Sink. Во время прикладной работы вы опробуете все API, о которых шла речь в теоретической части. Благодаря подробным объяснениям и комментариям, вы поймете, как наилучшим образом использовать предоставляемые Apache Kafka API для решения ваших бизнес-задач.

Кому нужны курсы по разработке Apache Kafka

Практические курсы по разработке Кафка и интеграции ее с другими системами ориентированы на программистов, разработчиков Big Data и специалистов, которые хотят:

  • изучить базовые методы программного взаимодействия с Kafka (Producer и Consumer API)
  • научиться использовать Kafka Streams API (как низкоуровневое Processor API, так и декларативный Stream DSL);
  • понять методы интеграции Apache Kafka с внешними системами, как самописными, так и проприетарными;
  • узнать практические примеры интеграции;
  • освоить лучшие практики (best practices) по реализации процессов автоматического обмена данными между Apache Kafka и внешними системами.

Соотношение теории к практике 50/50

Предварительная подготовка
  • Начальный опыт работы в Unix
  • Начальный опыт программирования на Java
  • Опыт работы с Hadoop Distributed File System (желательно).

Кто проводит курс

prepod-mihail-korolev.jpg
Преподаватель Школы Больших Данных

Королев Михаил

МГУ им. М.В. Ломоносова (Москва, 1992)
Профессиональные компетенции:

География наших клиентов

  • Москва
  • Санкт-Петербург
  • Нижний Новгород
  • Екатеринбург
  • Казань
  • Краснодар
  • Красноярск
  • Перьм
  • Челябинск
  • Новосибирск
  • Томск
  • Тверь
  • Саратов
  • Самара
  • Ростов-на-Дону
  • Хабаровск
  • Волгоград
  • Калуга
  • Якутск
  • Севастополь
  • Тольяти
  • Владивоссток
  • Тюмень
  • Южно-Сахалинск
  • Уфа
  • Ставрополь
  • Минск
  • Алматы
  • Астана
  • Ташкент
  • Душанбе
  • Бешкек
Если у Вас остались вопросы Вы можете позвонить к нам по телефону +7 (495) 414-11-21  или заполнить форму обратной связи на сайте.
Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Поиск по сайту