Apache Kafka – распределенный программный брокер сообщений для организации очередей в целях отслеживания больших потоков входных данных. На сегодняшний день Apache Kafka является стандартом индустрии в качестве брокера сообщений. Более 80 % компаний из Fortune 100 используют Kafka. Кому подходит: Разработчики Системные аналитики Архитекторы SRE Программа охватывает все основные аспекты работы с Kafka. Научимся: Производить установку и настройку Apache Kafka Выбирать и настраивать WebUI интерфейс в зависимости от требуемых результатов Настраивать мониторинг данных на базе prometheus & jmx exporter Настраивать защищённый мультиброкерный отказоустойчивый кластер Создавать и конфигурировать продюсеры и консьюмеры Валидировать структуру данных с помощью Schema registry Обеспечивать гарантию доставки данных Настраивать и использовать Kafka connect и Kafka streams Практикум рассчитан на разработчиков среднего и начинающего уровня, желающих познакомиться с инструментом Apache Kafka и углубить свои познания в нем. Для работы с практикумом необходимо: Уверенно владеть каким-либо языком программирования (предпочтительны Java, Python) Иметь базовые представления об асинхронных вычислениях, общепринятых форматах данных Базовое знание сетей Спойлер: Программа: Модуль 1. Инфраструктура: Что такое очередь сообщений и журнал сообщений Для чего нужен брокер сообщений Аналоги Kafka и дистрибутивы Kafka Архитектура Kafka Установка Kafka Базовая настройка Обзор WebUI Документация Настройка с ZooKeeper Настройка с KRaft Настройка аутентификации и авторизации через GSSAPI + Kerberos Мониторинг Kafka: метрики Настройка мониторинга Kafka на базе Prometheus & JMX Exporter Отказустойчивость Kafka Поведение в случае отказа broker/consumer/producer Защищённый кластер Hardware Administration: как рассчитать необходимые мощности (CPU, Network, HDD, RAM) для кластера Модуль 2. Разработка: Конфигурация Producer API продюсера send(), ack и callback-отправки Синхронная и ассинхронная отправка Транзакции Producer Сериализаторы: знакомство Конфигурация Consumer Offset и Commit Партиции Транзакции API Консьюмера Настройка аутентификации и авторизации через GSSAPI + Kerberos Apache Avro Schema Registry: как валидировать структуру сообщений с её помощью Event-driven архитектура и пример её применения Репликация в Kafka Партицирование Контроллеры и лидеры Работа с несколькими consumer/producer на одном топике Гарантии доставки в Kafka и как они достигаются Retention Что такое Kafka Connect и зачем он нужен Use cases Connect Типы коннекторов Kafka Streams: зачем нужны и как могут упростить архитектуру Processor: что такое и как подключается KSQL и KSQLdb: что такое и как пользоваться