В курсе рассматривается место Kafka в экосистеме больших данных, шаги по установке и настройке платформы в различных средах. Изучается концептуальная архитектура и внутреннее устройство Kafka, процессы публикации и чтения сообщений, репликация и зеркальное копирование данных между кластерами Kafka, механизмы обеспечения надежной доставки и обработки данных, методы интеграции с внешними системами.
Также слушатели получают основные навыки по администрированию и мониторингу приложений Kafka, знакомятся с различными утилитами и библиотеками. Материал теоретических модулей закрепляется выполнением практических заданий.
Цель курса:
Курс знакомит слушателей с потоковой платформой обработки больших данных — Apache Kafka.
Аудитория курса:
Разработчики
Системные администраторы
Аналитики данных
Архитекторы
Руководители проектов
Модуль 1. Введение в Apache Kafka
Понятие больших данных. Apache Kafka и ее роль в экосистеме больших данных. История создания Kafka. Отличительные возможности Kafka. Сценарии использования.
Модуль 2. Ключевые понятия и архитектура Apache Kafka
Сообщения. Обмен сообщениями в системе публикации и подписки. Обзор архитектуры Kafka. Брокеры Kafka. Продюсеры и потребители. Темы и разделы. Журнал фиксации. Kafka API.
Модуль 3. Установка и конфигурация Kafka в различных средах
Установка и конфигурация Kafka под управлением Zookeeper. Установка и конфигурация брокера Kafka. Настройки тем Kafka. Выбор аппаратного обеспечения для работы брокеров. Настройка операционной системы. Кластеры Kafka и их конфигурация. Kafka в облачной среде. Настройка Kafka в продуктивной среде 2.
Модуль 4. Продюсеры Kafka. Публикация сообщений
Структура продюсера Kafka. Создание продюсера Kafka. Методы отправки сообщений. Синхронный и асинхронный режим. Конфигурация продюсеров Kafka. Сериализация сообщений. Виды сериализаторов.
Модуль 5. Потребители Kafka. Подписка и чтение сообщений
Потребители и группы потребителей: структура и принципы работы. Членство в группах потребителей. Перебалансировка разделов. Создание и настройка потребителей Kafka. Подписка на темы. Фиксация смещений. Методы фиксации. Чтение записей с заданными смещениями. Десериализация сообщений. Виды десериализаторов. Автономные потребители.
Модуль 6. Ключевые концепции Kafka
Механизм репликации в Kafka. Обработка запросов от продюсеров и потребителей. Хранение данных в Kafka: журнальные файлы и индексы. Сжатие и удаление сообщений.
Модуль 7. Механизмы надежной доставки данных
Методы обеспечения надежности в Kafka. Настройка репликации в Kafka. Настройка продюсеров для надежной отправки данных. Обработка ошибок доставки данных. Настройка потребителей для надежной обработки данных. Мониторинг надежности в приложениях Kafka.
Модуль 8. Инструменты Kafka для интеграции данных
Интеграция Kafka с внешними системами. Утилита Kafka Connect. Примеры создания коннекторов.
Модуль 9. Администрирование Kafka
Утилиты командной строки для администрирования Kafka 3. Базовые операции Kafka. Операции с темами. Операции с разделами. Управление группами потребителей. Управление смещениями. Переопределение настроек по умолчанию. Работа со списками управления доступом (ACL) клиентских приложений. Графические инструменты для администрирования кластеров Kafka. Утилита Kafdrop.
Модуль 10. Мониторинг показателей приложений Kafka
Методы сбора показателей для мониторинга. Инструменты мониторинга кластера Kafka. Мониторинг производительности кластера Kafka. Метрики брокеров. Метрики тем и разделов. Метрики продюсеров и потребителей. Мониторинг показателей JVM и операционной системы. Настройка механизмов журналирования. Мониторинг квот.
Модуль 11. Зеркальная репликация между кластерами Kafka
Понятие зеркального копирования и сценарии использования. Мультикластерные архитектуры. Методы восстановления после сбоев. Утилита Mirror Maker Apache Kafka. Альтернативное ПО для зеркального копирования данных между кластерами Kafka.
Модуль 12. Потоковая обработка данных в Kafka
Основные понятия потоковой обработки. Модель потоковой обработки и ее ключевые возможности. Временные окна. Методы потоковой обработки. Библиотека Kafka Streams для потоковой обработки данных.