Основы Kafka

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

Описание

Этот тренинг поможет вам получить представление об архитектуре и функционировании Apache Kafka – платформы распределенной потоковой передачи событий с открытым исходным кодом.

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

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

1. Обзор (теория – 1 ч)
  • Что такое Kafka.
  • Примеры удачного и неудачного использования Kafka.
  • Kafka и база данных: сходства и различия.
  • Kafka и очередь сообщений: сходства и различия.
  • Архитектура хранилища Kafka: Брокеры, Темы, Разделы, Сегменты, Реплики.
  • Архитектура кластера Kafka: Zookeeper, партиционирование, главные и ведомые узлы репликации, ISR.
  • Клиенты и API.

2. Настройка Кластера (практика – 1 ч)
  • Практика 2.1: запуск кластера Kafka с помощью Docker.
  • Установка Zookeeper.
  • Установка брокеров Kafka.

3. Разработка приложений на Java (теория – 2,5 ч, практика – 2,5 ч)
  • 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. Внешний доступ к кластеру Kafka (теория – 2 ч, практика – 2 ч)
  • Безопасность: SSL, SASL, Kerberos.
  • REST Proxy: отправка и получение сообщений в форматах JSON, бинарные и Авро файлы.
  • Практика 4.1: доступ через REST Proxy.
  • Schema Registry: реестр схем.
  • Практика 4.2: использование REST Proxy со Schema Registry.

5. Обслуживание и мониторинг (теория – 1 ч, практика – 1 ч)
  • Настройка кластера под разные цели.
  • Zookeeper: конфигурация, автономный режим и режим кворума, CLI.
  • Практика 5.1: Мониторинг кластера Kafka с помощью Prometheus.

6. Несколько кластеров (теория – 1 ч, практика – 1 ч)
  • Для чего могут понадобиться несколько кластеров в Kafka?
  • MirrorMakerAccess.
  • Практика 6.1: Использование MirrorMaker для синхронизации кластеров.
  • Confluence Replicator.

7. Kafka Connect (теория – 2 ч, практика – 2 ч)
  • Архитектура Kafka Connect.
  • Приемники данных Kafka Connect.
  • Практика 7.1: Файловый приемник FileStream.
  • Практика 7.2: Приемник JDBC.
  • Источники данных Kafka Connect.
  • Практика 7.3: Источник FileStream.
  • Практика 7.4: Источник JDBC.

8. Основы Kafka Streams (теория – 2 ч, практика – 2 ч)
  • Kafka Streams: DSL, API, StreamBuilder, создание и реализация топологии.
  • Демонстрация 8.1: Реализация топологии Streams.
  • Демонстрация 8.2: Создание приложения Streams с помощью StreamBuilder.
  • Устройство Kafka Streams: многопоточность, несколько экземпляров и задач.
  • Схемы данных в Kafka: сериализация в JSON-схемы, схемы Avro, реестр схем, эволюция схем.
  • Демонстрация 8.3: Использование схем JSON.
  • Обработка с сохранением состояния: хранилище состояний, отказоустойчивость для хранилищ состояний.
  • KTable: Потоки обновления данных, кэширование, скорость выдачи, агрегация.
  • Окна в потоках: метки времени, плавающие, прыгающие, сеансовые.
  • Соединение: поток с потоком, KTable с KTable, поток с KTable.

Цели

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

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

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

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

Опыт разработки на Java от 3 месяцев.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Раcписание курса в Цены
Данный курс запланирован в городах: Онлайн
21.06.2021 - 30.06.2021
Время: 16:30-19:30
Локация: Онлайн
Длительность: 24 ч.
Тренер
В процессе согласования
37 000 руб.
9 900 грн.

21.06.2021

21.06.2021 - 30.06.2021
Время: 16:30-19:30
Локация: Онлайн
Длительность: 24 ч.
Тренер
Nazarevych, Sergii
37 000 руб.
9 900 грн.
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 37 000 руб.
9 900 грн.

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

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% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.