Курс [ Kafka ]
Получишь навыки работы с кафкой с нуля до уровня продвинутого разработчика
Открыт набор
2.5 месяца | 2 раза в неделю
ONLINE
для Middle и Senior разработчиков на любом языке программирования, не знакомых с Kafka
Требования:
1. Опыт от 3х лет разработки. 2. Базовое знакомство с Docker
[ Что будем делать на курсе: ]
Освоим внутреннее устройство Kafka, ее возможности и ограничения
Запустим Kafka и напишем producer и масштабируемые consumer'ы
Освоим на практике дополнительные возможности Kafka: Kafka Schema Registry, Kafka Streams, Kafka Connect
Разберем шаблоны проектирования, связанные с передачей сообщений в микросервисной архитектуре
Выполним 35 небольших задач и один индивидуальный курсовой проект
[ Программа курса ]
Что такое messaging system
Рассмотрим что такое message broker, для чего используется, разберем основные сценарии использования и шаблоны проектирования очередей сообщений. Рассмотрим какие есть брокеры сообщений и чем они отличаются, какое место среди них занимает Kafka.
Также во время вводного раздела познакомимся, договоримся об организационных моментах курса, определимся с расписанием занятий и выберем индивидуальные курсовые проекты.
Архитектура Kafka
Рассмотрим внутреннюю архитектуру Kafka и выясним почему она способна масштабироваться горизонтально. Освоим понятия topic, partition, replica, offset, producer, consumer, message key. Уделим вниманием внутреннему устройству Kafka, брокеру и ZooKeeper
Установка, настройка и CLI
Live configuration. В этом разделе ведущий продемонстрирует как запустить Kafka на собственной машине, как создать topic, как его использовать Kafka CLI для отправки и получения сообщений, а также для мониторинга и изменения конфигурации.
Создание producer и consumer
Live coding. Ведущий продемонстрирует как создать producer на разных языках программирования, как получать и обрабатывать сообщения, и что нужно чтобы делать это в большом масштабе.
Примеры будут показаны на тех языках, которыми владеют участники курса (при условии что для этого языка есть Kafka client).
Kafka Connect
Изучим инструменты для масштабируемой real time загрузки и выгрузки сообщений Kafka, выстроим собственный Kafka Connect pipeline. Рассмотрим существующие коннекторы, преобразования данных в коннекторах и создадим работающую систему передачи сообщений без единой строчки кода.
Schema registry - эффективное поддержка формата данных
Разберем на практике как именно можно ввести ограничения (схемы) на формат сообщений в топиках Kafka без снижения производительности, а также версионность ограничений. Углубимся в детали сериализации/десериализации и поддерживаемые форматы сообщений. Уделим внимание миграции схем, мониторингу и взаимодействию с Kafka Connectors.
Kafka Streams, Stream DSL - построение event streaming приложений
Рассмотрим обработку потока сообщений в Kafka с помощью Kafka Streams и архитектуру Kafka Stream, выстроим топологии обработки сообщений на языках программирования участников курса. Уделим внимание надежности и масштабируемости топологий в контексте микросервисной архитектуры.
Подходы, приемы и шаблоны
Научимся создавать масштабируемые приложения с помощью Kafka, разберем как создавать архитектуру near real time систем обработки событий и концепцию event sourcing.
Kafka и микросервисы
Рассмотрим что именно нужно учесть при использовании Kafka в микросервисной архитектуре для сохранения целостнности данных, масштабируемости и мониторинга. Разберем шаблоны Message Bus, Saga в разных вариациях, Dead Letter и Correlation Id. Реализуем некоторые из них на практике.
Применение Kafka
Рассмотрим несколько масштабных приложений реального мира, в которых используется Kafka для передачи сообщений.
Поддержка и администрирование Kafka
Рассмотрим конфигурирование брокеров, топиков, producer, consumer, Kafka Connect и Kafka Streams, использование AdminClient, а также гео-репликации, multitenancy и мониторинг.
Безопасность Kafka
Рассмотрим что предоставляет Kafka для поддержания безопасности: аутентификация, авторизация, шифрование.
Завершение, дополнительные материалы, защита курсового проекта
Завершающий раздел посвящен защите индивидуальных курсовых проектов и обсуждению использования Kafka в проектах участников курса.
[ Кто преподает? ]
Павел Вейник
CEO в Hard & Soft Skills
Разработчик с 2003 г. Работал в таких белорусских компаниях, как EPAM, Itransition, WorkFusion, однако предпочитает небольшие стартапы. Специализации - распределенные, highload системы, очереди сообщений и микросервисы.
Опыт на менедженских и архитекторских ролях позволяет видеть проблемы с разных точек зрения. Ведет тренинги для компаний с 2011г.
Сейчас выполняет архитектурные задачи в компании EPAM.
[ Записаться на курс ]
Стоимость курса 2530 BYN / 1000$
(Оплата в белорусских рублях по курсу доллара США, на дату платежа)
Все права защищены
В какие дни и сколько раз в неделю проходят занятия?
Занятия проходят 2 раза в неделю, дни недели группы выбираем все вместе

Сколько всего занятий и их длительность?
Всего 22 онлайн занятия длительностью по 1-1.5 часа
По окончанию курса студенты получают именной Сертификат Hard&Soft Skills