Основы Kafka

Вводный тренинг по Apache Kafka – платформе распределенной потоковой передачи событий с открытым исходным кодом. Вы рассмотрите архитектурные особенности Kafka, обеспечивающие высокопроизводительную доставку данных.
Курс: EAS-026 new
Длительность: 24 ч.

Описание

Этот тренинг поможет вам получить представление об архитектуре и функционировании Apache Kafka – платформы распределенной потоковой передачи событий с открытым исходным кодом. Вместе с тренером вы будете отправлять и получать сообщения из Java- и REST-клиентов, обсудите варианты конфигурации кластера и клиентов для достижения требуемых характеристик доставки сообщений (латентности, пропускной способности, сохранности и доступности).

Вы рассмотрите настройку нескольких кластеров для одного приложения, поскольку это жизненно важно для достижения отказоустойчивости и повышения масштабируемости.

Разберетесь, как Kafka Connect позволяет решать общие задачи перемещения данных между Kafka и внешними системами (СУБД, файловая система и др.).

Узнаете, почему во многих случаях хорошим способом создания быстрых и устойчивых решений для потоковой обработки являются Kafka Streams и KSQL, и как ими пользоваться.

Разбираемые темы

1. Обзор
  • Что такое Kafka
  • Примеры удачного и неудачного использования Kafka
  • Kafka или база данных
  • Kafka или очередь сообщений
  • Архитектура кластера Kafka: Брокеры, Темы, Разделы, Сегменты, Реплики
  • Архитектура кластера Kafka: Zookeeper, партиционирование, главные и ведомые узлы репликации, ISR
  • Клиенты и API
2. Настройка Кластера
  • Практика 2.1: настройка кластера Kafka с помощью Docker
  • Установка Zookeeper
  • Установка Kafka
3. Разработка приложений на Java
  • Kafka Producer API: основы
  • Практика 3.1: Отправка одного сообщения
  • Практика 3.2: Отправка нескольких сообщений
  • Практика 3.3: Отправка нескольких сообщений с явным партиционированием
  • Практика 3.4: Отправка сообщений без ключа Kafka Consumer API: основы, группы потребителей
  • Практика 3.5: Один получатель
  • Практика 3.6: Несколько получателей в одной группе Дополнительные возможности: Пакеты, Повторы, Идемпотентность, Транзакции, Перебалансировка Групп Потребителей
  • Практика 3.7: Отправитель без пакетов и повторов
  • Практика 3.8: Идемпотентный Отправитель
  • Практика 3.9: Транзакционный Отправитель
  • Практика 3.10: Отправка и получение в транзакции
  • Практика 3.11: Получение-обработка-отправка в транзакции
4. Внешний доступ к кластеру
  • Безопасность: SSL, SASL, Kerberos
  • REST Proxy: отправка и получение сообщений в форматах JSON, Авро
  • Практика 4.1: доступ через REST Proxy
  • Schema Registry: реестр схем
  • Практика 4.2: использование REST Proxy со Schema Registry
5. Обслуживание и мониторинг
  • Целевые характеристики и компромиссы
  • Zookeeper: конфигурация, автономный режим и режим кворума, CLI
  • Практика 5.1: Настройка кворума Zookeeper
  • Мониторинг и управление кластером
  • Практика 5.2: Prometheus для мониторинга Kafka
  • Практика 5.3: Сбор метрик
6. Несколько кластеров
  • Для чего могут понадобиться несколько кластеров в Kafka?
  • MirrorMaker
  • Практика 6.1: использование MirrorMaker для синхронизации кластеров
  • Confluence Replicator
7. Kafka Connect
  • Архитектура Kafka Connect
  • Приемники данных Kafka Connect
  • Практика 7.1: Файловый приемник
  • Практика 7.2: Приемник JDBC
  • Практика 7.3: Приемник ElasticSearch
  • Источники данных Kafka Connect
  • Практика 7.4: Файловый источник
  • Практика 7.5: Источник JDBC
8. Основы Kafka Streams
  • Kafka Streams: DSL, API, StreamBuilder, топологии
  • Практика 8.1: Реализация топологии
  • Устройство Kafka Streams: многопоточность, несколько экземпляров и задач
  • Схемы данных в Kafka: сериализация в JSON-схемы, схемы Avro, реестр схем, эволюция схем
  • Практика 8.2: использование схем JSON и Avro
  • Обработка с сохранением состояния: хранилище состояний, отказоустойчивость для хранилищ состояний
  • Практика 8.3: Создание хранилища состояний
  • KTable: Потоки обновления данных, кэширование, скорость выдачи, агрегация
  • Практика 8.4: Агрегация потоков
  • Окна в потоках: метки времени, плавающие, прыгающие, сеансовые
  • Практика 8.5: использование окон в потоках
  • Соединение: поток с потоком, KTable с KTable, поток с KTable
  • Практика 8.6: объединение потоков и таблиц

Цели

Во время обучения вы научитесь:
  • Понимать архитектуру Kafka.
  • Разбираться в развертывании и настройке Kafka.
  • Использовать REST-доступ к Kafka.
  • Разрабатывать Java-клиентов для Kafka.
  • Проектировать многокластерные архитектуры.
  • Использовать инструменты Kafka Connect.
  • Создавать приложения Kafka Streams и kSQL-запросы.

Целевая аудитория

Разработчики, архитекторы, дата-инженеры

Предварительная подготовка

Опыт разработки на Java от 3 лет.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Москва 37 000 руб.

Рекомендуемые дополнительные материалы, источники:

Gwen Shapira et al. Kafka. The Definitive Guide. 2nd ed. – O’Reilly, 2022.
William P. Bejeck et al. Kafka Streams in Action. – Manning, 2018.
Ben Stopford. Designing Event-Driven Systems. – O’Reilly, 2018.
Yeva Byzek. Optimizing Your Apache Kafka Delpoyment. – Confluent, 2019.

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоративное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.