Описание курса:
Apache Kafka – самый распространенный брокер сообщений, используемый в современных стеках разработки программного обеспечения. Знание Apache Kafka позволяет Java-разработчикам реализовывать системы обработки потоков данных, такие как системы очередей сообщений, стриминговая обработка данных и обмен данных между различными компонентами приложения.
Курс дает знания и навыки, необходимые для использования брокера сообщений в собственных проектах на языке Java.
Аудитория: Курс рекомендован
• Разработчикам ПО на языке Java, желающим научиться использовать ПО Apache Kafka для интеграции различных систем.
• Компаниям-разработчикам ПО, которым нужны квалифицированные разработчики с использованием ПО Apache Kafka.
• Архитекторам ПО и руководителям проектов, желающим изучить современные технологии по созданию распределенных приложений.
Необходимая подготовка:
• Успешное окончание курса Программирование на Java. Уровень 2. Объектно - ориентированное программирование, или эквивалентная подготовка.
• Успешное окончание курса Разработка приложений с использованием современного Spring Framework, или эквивалентная подготовка.
• Понимание принципов работы контейнеризации Docker.
Программа курса:
Модуль 1. Введение в Apache Kafka
• Подготовка: настройка Kafka, Zookeeper, Kafdrop.
• Сообщения и топики.
• Партиции.
• Репликация.
• Гарантии.
• API.
• Live coding с преподавателем: «Настройка кластера Kafka».
• Тестирование по теме «Введение в Apache Kafka».
• Выполнение домашнего задания по теме «Введение в Apache Kafka».
Модуль 2. Kafka Producer
• Producer Record: структура и параметры.
• Создание "пользовательского класса партицирования".
• Timestamp.
• Producer API configuration.
• Класс KafkaProducer: создание, отправка сообщений, обработка Callback.
• Live coding с преподавателем: реализация Producer с различными конфигурациями.
• Тестирование по теме «Kafka Producer API».
• Выполнение домашнего задания по теме «Kafka Producer API».
Модуль 3. Kafka Consumer API
• Стратегии распределения партиций.
• Rebalance.
• Offset.
• Consumer API configuration.
• Класс KafkaConsumer: создание, подписка, чтение сообщений.
• Live coding с преподавателем: реализация Consumer с различными стратегиями.
• Тестирование по теме «Kafka Consumer API».
• Выполнение домашнего задания по теме «Kafka Consumer API».
Модуль 4. Admin API
• Управление топиками.
• Управление партициями.
• Управление сообщениями и консьюмерами.
• Управление ACL и квотами.
• Live coding с преподавателем: использование Admin API для управления кластером.
• Тестирование по теме «Admin API».
• Выполнение домашнего задания по теме «Admin API».
Модуль 5. Kafka Transactions
• Гарантии в Kafka.
• Idempotent Producer.
• Exactly Once семантика.
• Транзакции в Kafka.
• Live coding с преподавателем: реализация транзакционного Producer и Consumer.
• Тестирование по теме «Kafka Transactions».
• Выполнение домашнего задания по теме «Kafka Transactions».
Модуль 6. Kafka Streams
• Основы Kafka Streams.
• Хранение состояния.
• Объединение данных.
• KTable и GlobalKTable.
• Processor API.
• Live coding с преподавателем: разработка приложения с использованием Kafka Streams.
• Тестирование по теме «Kafka Streams».
• Выполнение домашнего задания по теме «Kafka Streams».
Модуль 7. Kafka Schema Registry
• Структура и варианты сообщений.
• Avro формат.
• Сравнение Avro, Protobuf, JSON.
• Schema Registry.
• Live coding с преподавателем: использование Schema Registry с Avro сериализацией.
• Тестирование по теме «Kafka Schema Registry».
• Выполнение домашнего задания по теме «Kafka Schema Registry».
Модуль 8. Confluent REST API
• Введение в Confluent REST API.
• Развертывание Confluent REST API.
• Выполнение запросов.
• Live coding с преподавателем: взаимодействие с Kafka через REST API.
• Тестирование по теме «Confluent REST API».
• Выполнение домашнего задания по теме «Confluent REST API».
Модуль 9. Дополнительные материалы
• Запись мастер-класса «Kafka vs RabbitMQ»
Окончательная цена указывается в договоре на обучение.