Улучшаемые навыки
Apache Kafka
Event Streaming
распределенная стриминговая платформа
Java
REST
KSQL
Kafka Connect
Kafka Streams
Docker
Zookeeper
SSL
SASL
Kerberos
Инструменты
Docker
Kafka
PostgreSQL
Prometheus
Zookeeper
KSQL
Чему вы научитесь
01
Запускать и настраивать кластер Kafka с тремя узлами
02
Разрабатывать Java-клиентов для Kafka
03
Использовать KSQL для создания потоков без программирования
04
Конфигурировать Kafka Connect для интеграции с внешними системами
05
Мониторить и оптимизировать производительность кластера Kafka
06
Создавать транзакционные приложения с использованием Kafka
Программа курса
Что такое Kafka.
Примеры удачного и неудачного использования Kafka.
Kafka и база данных: сходства и различия.
Kafka и прямые конкуренты.
Kafka и Apache Pulsar.
Архитектура хранилища Kafka: Брокеры, Темы, Разделы, Сегменты, Реплики.
Архитектура кластера Kafka: Zookeeper, партиционирование, главные и ведомые узлы репликации, ISR.
Клиенты и API.
Практика 2.1: запуск кластера Kafka с помощью Docker.
Установка Zookeeper.
Установка брокеров Kafka.
03
Инструменты Kafka и управление данными
Самые популярные инструменты Kafka.
Демо 3.1: Инструменты Kafka.
Практики KafkaOps.
04
Разработка приложений на Java
Kafka Producer API: основы.
Практика 4.1: Отправка одного сообщения.
Kafka Consumer API: основы, группы потребителей.
Практика 4.2: Один получатель.
Практика 4.3: Несколько получателей в одной группе.
Дополнительные возможности: Пакеты, Повторы, Идемпотентность, Транзакции, Перебалансировка Групп Потребителей.
Практика 4.4: Транзакционный Отправитель.
Практика 4.5: Отправка и получение в транзакции.
Практика 4.6: Замороженный потребитель.
Практика 4.7: Медленный потребитель.
05
Внешний доступ к кластеру Kafka
Безопасность: SSL, SASL, Kerberos.
REST Proxy: отправка и получение сообщений в форматах JSON, бинарные и Авро файлы.
Практика 5.1: доступ через REST Proxy.
Schema Registry: реестр схем.
Практика 5.2: Schema Registry.
Kafka Streams: DSL, API, StreamBuilder, создание и реализация топологии.
Устройство Kafka Streams: многопоточность, несколько экземпляров и задач.
Практика 6.1: Реализация потоков без сохранения состояния.
Обработка с сохранением состояния: хранилище состояний, отказоустойчивость для хранилищ состояний.
Практика 6.2: Агрегация в Kafka Streams.
KTable: Потоки обновления данных, кэширование, скорость выдачи, агрегация.
Окна в потоках: метки времени, плавающие, прыгающие, сеансовые.
Соединение: поток с потоком, KTable с KTable, поток с KTable.
Практика 6.3: Соединение потоков и таблиц.
KSQL: Потоки без программирования.
KSQL Серверная архитектура.
Практика 6.4: Реализация потоков без сохранения состояния в KSQL.
Практика 6.5: Агрегация в KSQL.
Практика 6.6: Соединение в KSQL.
Архитектура Kafka Connect.
Источники Kafka Connect.
Практика 7.1: JDBC Source Connector (postgres).
Практика 7.2: JDBC Source Connector (postgres) с ключами.
Kafka Connect Sinks.
Практика 7.3: JDBC Sink Connector (postgres).
Практика 7.4: JDBC Sink Connector (postgres) с ключами.
08
Эксплуатация и мониторинг
Цели по производительности и режимы выполнения.
Zookeeper: конфигурация, автономный режим и режим кворума, CLI.
Управление и мониторинг кластера.
Практика 8.1: Мониторинг кластера Kafka с помощью Prometheus.
Практика 8.2: Измерение производительности.
Различные мультикластреные архитектуры MirrorMaker.
Практика 9.1: Использование MirrorMaker для синхронизации кластеров.
Confluence Replicator.
10
Итого на курс 24 часов: теория – 14ч ( 58%), практика 10– ч ( 42%)
Для кого
Разработчик
Архитектор ПО
Data Engineer
Предварительная подготовка
Опыт разработки на Java от 3 месяцев.