Которые хотят тестировать передачу сообщений с помощью Kafka, а также производительность, throughput, latency и надежность асинхронного взаимодействия компонентов системы.
Тестировщикам
02
Которые хотят освоить технологию: научиться отправлять и обрабатывать сообщения, запускать брокер локально, понимать архитектуру Kafka, ее возможности и ограничения, масштабировать отправку и получение сообщений.
Запустим из Docker, CLI, CLI producer и CLI consumer.
Напишем клиента на разных языках, попробуем переключать partitions между Consumers в группе.
Рассмотрим возможности и ограничения Kafka, сравним с другими брокерами сообщений и очередями.
Разберем реальные кейсы применения Kafka в известных компаниях.
Расскажем о типичных ошибках новичков при работе с Kafka.
Получим реальный навык работы с Kafka на 6-ти практических занятиях с преподавателем.
Узнаем, как повышать сохранность данных с помощью шаблонов проектирования transactional outbox, transactional client.
Необходимые требования для прохождения курса: 1. Опыт программирования от 2 лет на любом языке программирования 2. Базовое знакомство с Docker
1.
2.
3.
[ Как проходит обучение ]
Разбирате тему с помощью текстовых конспектов и лекций
в Zoom с преподавателем.
Изучаете материал
Выполняете ДЗ
Решаете учебные задачи,
подготовленные для курса.
Получаете обратную связь
На практических занятиях разбираете с преподавателями ошибки и пути их решения.
Посмотрите нашу
по Kafkа прямо сейчас
ЛЕКЦИЮ
- Что такое messaging system
- Что включает в себя архитектура Kafka
- Методы разворачивания docker образа
- Как пользоваться Kafka CLI
- Основы Kafka API
- Области применения Kafka
+ Практический блок: создание Java producer
и Java consumer
Руководил процессом перевода системы с использования AWS SQS на Apache Kafka. С командой построил на Kafka всю eventual consistency проекта. Полтора года применяет на проекте Kafka для выполнения фоновых задач, таких как обработка данных из файлов или отправка email-сообщений.
За свою карьеру обучил несколько full-stack разработчиков среднего уровня, а сейчас возглавляет и наставляет людей в качестве тимлида и старшего инженера-программиста. Эксперт в разработке ПО под нужды бизнеса.
Закрытый Telegram-чат для участников курсов
Инструменты
Согласования внутри группы голосованием
Время проведения занятий
Все текстовые материалы/задания будут храниться в папке на Google drive
Занятия будут проходить в Zoom в установленное время
Закрытый плейлист на YouTube
* Все записи будут доступны навсегда
Лекции будут проводиться с использованием доски Miro
Практика
* 1 час один раз в неделю
Теория
* 1,5 часа один раз в неделю
[ Формат курса ]
[ Программа курса ]
Что такое messaging system?
Для чего используется?
Шаблон message bus
Основные паттерны применения
Какие есть messaging systems?
Что такое Apache Kafka?
История создания
Основные возможности и особенности Apache Kafka
Kafka и очередь сообщений: сходства и различия
Kafka и база данных: сходства и различия
Примеры использования
Архитектура Kafka
Topics, partitions, replication
Как работает Kafka: внутреннее устройство
Kafka broker
ZooKeeper
Producer, consumer
Обзор Kafka клиентов
Commits и Offsets
Serializers и Deserializers
Масштабирование Kafka
Live configuration В этом разделе преподаватель продемонстрирует как запустить Kafka на собственной машине, как создать topic, как его использовать. Kafka CLI для отправки и получения сообщений, а также для мониторинга и изменения конфигурации.
Докер образ
Базовые команды CLI для
просмотра/создания/обновления топиков
Как тормозит Kafka при изменении числа partitions?
Запуск producer/consumer
CLI
Запуск CLI consumer groups
Клиенты на разных языках
Создание producer и consumer
Демо с CLI и клиентами
CLI + код
Код
Демо перераспределения в consumer group
Шаблон transactional outbox, transactional client
Идемпотентность, ключ идемпотентности
Admin API Мониторинг
Как мониторить Apache Kafka?
Ключевые метрики работоспособности
Нагрузка, latency и упоминание реальных кейсов Kafka Connect (или Connector API)
Что такое Kafka Connect и как это работает?
Виды Kafka Connector
С каким системами может работать Kafka Connect
Kafka Streams (или Streams API)
Что такое Kafka Stream и как это работает?
Kafka Streams: общие понятия
Exactly Once гарантия
Kafka Schema registry
Что такое Kafka Schema registry?
Как работает Schema Registry?
Confluent Kafka
Облачная Apache Kafka от Confluent: краткий обзор
KRaft: Kafka без ZooKeeper
Зачем убрали Zookeeper из Kafka?
Что такое Kafka Raft?
Kafka без Zookeeper: отсутствующие функции
Миграция ZooKeeper в KRaft
Другие очереди
AWS Managed Kafka Service
RabbitMQ
ActiveMQ
Amazon Kinesis
Apache Spark
Apache Storm
Apache Flink
Redis
Confluent
Кто использует Kafka
LinkedIn
Pinterest
Uber
Audi
BMW
Porche
Tesla
Twitter
Zalando
The New York Times
Coursera
Message bus
Завершающее занятие на котором разберем ваши вопросы, дополнительные материалы и дальнейший путь развития.
[ Cтоимость обучения]
1
Курс содержит:
Теория
Практика
Дополнительные Бонусы
Apache Kafka Fundamentals
7 недель
$790
Курс содержит:
Теория
7 живых занятий в Zoom, с доступом на неограниченное время;
текстовые материалы для подготовки;
Практика
6 практических занятий в Zoom с преподавателями;
индивидуальная обратная связь по заданиям;
домашние задания;
Дополнительные Бонусы
электронный сертификат об окончании курса на EN и RU языках
общение в групповом чате вашего потока онлайн
доступ к закрытому сообществу выпускников и бесплатным мероприятиям
5 живых занятий в Zoom с доступом на неограниченное время;
электронный сертификат об окончании курса на EN и RU языках;
доступ к закрытому сообществу выпускников и бесплатным мероприятиям.
Если вы сомневаетесь, прочитайте отзывы наших учеников
Отзывы выпускников курса
[ KAFKA FUNDAMENTALS ]
Lead Software DeveloperLead at Yoomp
Бородин Дмитрий
Я все получил, за чем пришел. Я хотел узнать, что это за инструмент, как работает, какие особенности, что с ним можно решить, что нельзя решить. Теперь я знаю, как Kafka работает, как считать, как ей пользоваться, какие там есть нюансы. Про всякие настройки я поспрашивал, понял шаблоны, которые мы там обсуждали. Тоже очень полезная вещь. Раньше я их названия не знал, но в работе они иногда применялись коллегами. В целом, я могу знания теперь применить. Вот как раз на базовом уровне, а там уже дальше разбираться.
Мне вот очень понравились первые, два раздела. Там, где теоретический расчет нагрузки, количество брокеров, репликации настроек, вот эти вот все штуки. Это было полезно. Самостоятельно смог сделать только самые простые вещи, остальное слушал на разборе. Сначала потреблял знания во время непосредственно живого урока, а потом я дополнительно самостоятельно сам прочитывал это все второй раз, углублялся. А так, в целом, курс понравился, много информации в слайдах, преподаватель отвечал на все вопросы.
Я приходила с запросом: понять в целом, как можно использовать Kafka в реальной жизни, как это всё взаимодействует. Я получила ответы на свои вопросы и даже больше. Всё было очень насыщенно, и поэтому нужно было время, чтобы переварить материал. Мне понравилась атмосфера, и как Виталий преподносит материал, как относится к лекциям. Серьезный такой подход, всё структурировано. Даже когда у нас на практике возникли вопросы, а примеров не было, то все решалось в лайв-режиме. В общем, вот это классно.
[ Как попасть на курс]
Оставьте заявку на сайте
в форме ниже
Мы перезвоним вам, чтобы согласовать время интервью
Сообщим вам о положительном решении в течение дня
На интервью определим, достаточно ли вашего уровня знаний для курса, и сформулируем цель обучения
Отправим счет и возможные варианты оплаты курса
Вы участвуете в установочном занятии и выбираете наиболее удобное время для занятий
Присоединяясь к настоящему Соглашению и оставляя свои данные на Сайте Hard&Soft Skills путем заполнения полей онлайн-заявки (оформления заказа) Пользователь:
– подтверждает, что указанные им персональные данные принадлежат лично ему; признает и подтверждает, что он внимательно и в полном объеме ознакомился с настоящим Соглашением и содержащимися в нем условиями обработки его персональных данных, указываемых им в полях онлайн заявки (регистрации) на Сайте; – признает и подтверждает, что все положения настоящего Соглашения и условия обработки его персональных данных ему понятны; – дает согласие на обработку Сайтом предоставляемых персональных данных в целях регистрации Пользователя на Сайте; – выражает согласие с условиями обработки персональных данных без каких-либо оговорок и ограничений.
Пользователь дает свое согласие на обработку его персональных данных, а именно совершение действий, предусмотренных законом «О персональных данных» Республики Беларусь, и подтверждает, что, давая такое согласие, он действует свободно, своей волей и в своем интересе. Согласие Пользователя на обработку персональных данных является конкретным, информированным и сознательным.
Настоящее согласие Пользователя применяется в отношении обработки следующих персональных данных: – фамилия, имя, отчество; – номера телефонов; – адреса электронных почт (E-mail); – данные о профессиональных навыках.
Пользователь предоставляет сервису https://hardsoftskills.by право осуществлять следующие действия (операции) с персональными данными:
– сбор, накопление и хранение данных; – уточнение (обновление, изменение); – использование в целях регистрации Пользователя на Сайте; – удаление.
Указанное согласие действует бессрочно с момента предоставления данных и может быть отозвано Вами путем обращения через «Форму обратной связи» или по e-mail info@hardsoftskills.by.
Сайт имеет право вносить изменения в настоящее Соглашение. При внесении изменений будет указываться дата последнего обновления. Последнее обновление: 16/01/2023
[ Частые вопросы ]
Вы получите доступ к записям лекций и всем материалам на неограниченное время
В данном курсе рассрочка платежа не предусмотрена
Да, курс может быть оплачен Вашим работодателем полностью или частично.
Курс [Kafka Fundamentals] рассчитан на IT-специалистов, не знакомых с технологией, и предполагает обучение с нуля.
Курс включает 2 занятия, длительностью 1- 1,5 часа, в неделю: 1 теоретическое и 1 практическое. Также Вам нужно будет уделять 2-3 часа на домашние задания и 30 минут на изучение текстовых материалов перед началом занятий. Всего в неделю потребуется выделить 4-5 часов на курс.
График обучения рассчитан на специалистов с полной занятостью. Перед началом обучения проходит установочное занятие на котором Вы выбираете наиболее удобное время для занятий. И, выделяя 4-5 часа в неделю на обучение, Вы сможете совмещать курс с full-time работой.
Если Вы пропустили занятие, у Вас будет возможность посмотреть запись урока и выполнить домашнее задание позже. В случае приостановки прохождения курса, Вы сможете продолжить обучение со следующим потоком.
При наборе на курс мы смотрим на Ваши навыки на интервью. Их должно быть достаточно, чтобы Вы смогли усвоить программу, но получить необходимый стек можно быстрее, чем за 2 года.
Да, вы получите сертификат после окончания обучения на русском и английском языках