Продолжительность: 4 дня, 32 академических часов.
4х-дневный курс для специалистов, желающих получить и систематизировать знания по использованию 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
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 (желательно).
Программа
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.
Познакомимся с концепцией групп и научимся настраивать группы для работы с сообщениями в режиме broadcasting.
5. Streams API
- Архитектура Kafka Streams
- OLTP операции с Apache Kafka. Основные абстракции Kafka Streams
Изучим общие принципы и приемы в процессе работы с Kafka Streams.
6. Kafka Streams DSL
- Kafka Streams DSL — теория и практика
- Создание Kafka Streams приложения
Изучим специализированный язык описания потоков данных в Kafka и научимся его использовать.
Напишем базовое Kafka Streams приложение.
7. Processor API
- Использование Processor API
Научимся работать на «низком» уровне — создавать топологии и перенаправлять по ним сообщения, использовать расписание.
Напишем приложение с использованием Processor API.
8. Kafka Connect
- Архитектура Kafka Connect
- Виды Kafka Connector-ов
- Готовые Connector и Confluent HUB
Разберемся в том, какие Connector-ы есть в Kafka, создадим собственные Source и Sink коннекторы.
9. Inside Kafka
- Особенности хранения данных
- Компактируемые топики и retension
- Конфигурация и производительность процесса работы с данными в Kafka
Познакомимся с внутренним устройством топиков, партиций и сегментов. Поймем влияние параметров конфигурации на производительность процесса публикаци и потребления сообщений.
- Лекции 0
- Тесты 0
- Учебное время 50 hours
- Навык Все уровни
- Язык English
- Студенты 0
- Оценки Да