WEBDEV [В. Севостьянов, А. Бурылов] [Slurm] Apache Kafka для разработчиков (2022)

docndocs

Team member
Joined
Oct 26, 2016
Messages
564
Reaction score
15
[В. Севостьянов, А. Бурылов] [Slurm] Apache Kafka для разработчиков (2022)

Автор:
[В. Севостьянов, А. Бурылов] [Slurm]
Название: Apache Kafka для разработчиков (2022)

qOOGuXE.png


Кому подойдет курс?
В 2022 году навыки работы с Apache Kafka требуются более чем для 3000 вакансий (*по данным hh.ru)

Системным администраторам
Для сисадминов у нас есть отдельный курс: Apache Kafka База

Архитекторам
Kafka — решение многих архитектурных проблем. Подписка на события и надежная передача запросов между приложениями еще никогда не были такими простыми. После интенсива ты организуешь правильную event-driven архитектуру с помощью Kafka!

Разработчикам
Kafka даст понимание, каким образом мы можем организовать работу микросервисов и повысить общую надежность системы. Также мы поможем узнать, чем же Kafka отличается от других подобных систем и в чем ее преимущества.

Бизнес-кейсы, которые будем решать:

Проблема #1
.
Периодически отваливается логистический шлюз, и пользователь получает ошибку при создании заказа в онлайн-магазине одежды. Расскажем, как отвязать логистический шлюз от создания заказа, чтобы они не были связаны напрямую.

Проблема #2.
Сервисы обмениваются сообщениями о событиях напрямую, и иногда по вине сети они не доставляются и пропадают. Объясним, что сделать, чтобы ничего не терять.

Проблема #3.
Пользователь создал заказ, а магазин отправил его в доставку, упаковал и отгрузил водителю. И только после этого онлайн-магазин узнал, что оплата не прошла. Научим, как совершать все действия в правильном порядке, чтобы заказ не высылался до подтверждения оплаты.

Рекомендованные программы и навыки:
Для прохождения интенсива тебе понадобится компьютер, на котором установлена и настроена среда разработки, git и docker. Желательно установить make.
Знание Java и/или Go стэка.

Программа обучения:
День 1
-
• 1. Введение
• 2. Определение терминов. Теория

Начнете безошибочно разбираться в терминологии
2.1. Нода, Датацентр, Кластер
2.2. ZooKeeper
2.3. Консумер, продусер, топик
2.4. Сообщение, ключ, значение
2.5. Партиции

• 3. Архитектура Кафка. Теория + практика
Научитесь писать простейшие клиенты, будете понимать внутреннюю архитектуру Кафки
3.1. Шардинг (партиционирование)
3.2. Репликация лидер-ведомый
3.3. Концепция указателей (смещений)
3.4. Буферная передача и задержки

• 4. Основы использования Кафка. Теория + практика
Научитесь работать со сложными протоколами и настроить приложение так, чтобы оно не развалилось в проде
4.1. Создание топиков
4.2. Сериализация сообщений
4.3. Настройки продюсера
4.4. Настройка консумера
4.5. Partition key: упорядочивание и чтение на клиенте

День 2 -
• 5. Алгоритмы на Kafka. Теория + практика
Научитесь строить архитектуру между микросервисами
5.1. Асинхронные сообщения
5.2. Подписка на события
5.3. Репликация в микросервисах

• 6. Транзакции с использованием Kafka. Теория + практика
Научитесь избегать распространенных проблем с данными при построении архитектуры
6.1. Only once и идемпотентность при записи в базу
6.2. Only once при копировании из топика в топик
6.3. Distributed transactions / Sagas

День 3 -
• 7. Событийно-ориентированная архитектура. Теория + практика
Начнете использовать все преимущества Kafka
7.1. Однонаправленная обработка событий
7.2. Вариант применения: event sourсing. Акторы
7.3. Работаем с индексом времени вставки
7.4. Расчет агрегатов на Kafka

• 8. Изнасилование Кафка (Kafka как база данных). Теория + практика
Поймете, как использовать Кафку в качестве СУБД и стоит ли это делать
8.1. Объединение старых значений ключа
8.2. Доступ к сообщениям в случайном порядке
8.3. Делаем fifo очередь
8.4. Очередь, отсортированная по времени получения aka шедуллер

Скачать
 
Last edited:
Back
Top