День 1
20 мая пятница
10:00 — 18:00 с перерывом на обед
• 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
21 мая суббота
10:00–18:00 с перерывом на обед
• 5. Алгоритмы на Kafka. Теория + практика
Научитесь строить архитектуру между микросервисами
5.1. Асинхронные сообщения
5.2. Подписка на события
5.3. Репликация в микросервисах
• 6. Транзакции с использованием Kafka. Теория + практика
Научитесь избегать распространенных проблем с данными при построении архитектуры
6.1. Only once и идемпотентность при записи в базу
6.2. Only once при копировании из топика в топик
6.3. Distributed transactions / Sagas
День 3
22 мая воскресенье
10:00–18:00 с перерывом на обед
• 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 шедуллер