Которые хотят тестировать передачу сообщений с помощью Kafka, а также производительность, throughput, latency и надежность асинхронного взаимодействия компонентов системы.
01
Разработчикам
Которые хотят освоить технологию: научиться отправлять и обрабатывать сообщения, запускать брокер локально, понимать архитектуру Kafka, ее возможности и ограничения, масштабировать отправку и получение сообщений.
Запустим из Docker, CLI, CLI producer и CLI consumer.
Напишем клиента на разных языках, попробуем переключать partitions между Consumers в группе.
Рассмотрим возможности и ограничения Kafka, сравним с другими брокерами сообщений и очередями.
Разберем реальные кейсы применения Kafka в известных компаниях.
Расскажем о типичных ошибках новичков при работе с Kafka.
Получим реальный навык работы с Kafka на 6-ти практических занятиях с преподавателем.
Узнаем, как повышать сохранность данных с помощью шаблонов проектирования transactional outbox, transactional client.
Необходимые требования для прохождения курса: 1. Опыт программирования от 2 лет на любом языке программирования 2. Базовое знакомство с Docker
3.
1.
[ Как проходит обучение ]
Разбирате тему с помощью текстовых конспектов и лекций в Zoom с преподавателем.
Изучаете материал
Выполняете ДЗ
Решаете учебные задачи, подготовленные для курса.
Получаете обратную связь
На практических занятиях разбираете с преподавателями ошибки и пути их решения.
2.
Вы узнаете:
- Что такое messaging system - Что включает в себя архитектура Kafka - Методы разворачивания docker образа - Как пользоваться Kafka CLI - Основы Kafka API - Области применения Kafka
+ Практический блок: создание Java producer и Java consumer
За свою карьеру обучил несколько full-stack разработчиков среднего уровня, а сейчас возглавляет и наставляет людей в качестве тимлида и старшего инженера-программиста. Эксперт в разработке ПО под нужды бизнеса.
Руководил процессом перевода системы с использования AWS SQS на Apache Kafka. С командой построил на Kafka всю eventual consistency проекта. Полтора года применяет на проекте Kafka для выполнения фоновых задач, таких как обработка данных из файлов или отправка email-сообщений.
[ Формат курса ]
Закрытый 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
Дополнительные Бонусы
Практика
Теория
Курс содержит:
$790
7 недель
Apache Kafka Fundamentals
7 живых занятий в Zoom, с доступом на неограниченное время;
текстовые материалы для подготовки;
6 практических занятий в Zoom с преподавателями;
индивидуальная обратная связь по заданиям;
домашние задания;
общение в групповом чате вашего потока онлайн
электронный сертификат об окончании курса на EN и RU языках
доступ к закрытому сообществу выпускников и бесплатным мероприятиям
Присоединяясь к настоящему Соглашению и оставляя свои данные на Сайте 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 года.
Да, вы получите сертификат после окончания обучения на русском и английском языках
ОСТАЛИСЬ ВОПРОСЫ?
Задайте их менеджеру курса, если не нашли ответы на сайте
Менеджер
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных