К содержимому
Перейти к содержимому

Тренажёры · Kafka UI

Тренажёр Kafka UI прямо в браузере

Заведёшь топик, найдёшь lag консьюмера, перемотаешь офсеты и спасёшь поток от битого сообщения. 8 заданий, около 15 минут, ставить Kafka и Docker не нужно

Вход по ссылке на почту, без пароля. Без входа тренажёр работает на этой странице

Экран группы консьюмеров billing в Kafka UI: у партиции 1 застрял lag 815 сообщений, всего не прочитано 819. Деметра спрашивает, почему lag не уменьшается

Зачем

Kafka есть в вакансии, а руками ты её не трогал

  • «В вакансии Kafka, а я видел её только на схемах»

    Здесь ты работаешь в Kafka UI: заводишь топики, смотришь сообщения по партициям, следишь за группами консьюмеров

  • «Поднимать Kafka в Docker ради пары опытов долго»

    Тренажёр открывается в браузере. Кластер внутри — модель Kafka, ломать её можно сколько угодно и начать заново одной кнопкой

  • «На собеседовании спросят про lag и офсеты, а я в них путаюсь»

    Lag ты создашь сам: 1000 заказов и остановленный консьюмер. Потом перемотаешь офсет группы и увидишь, как сервис перечитывает заказы

Программа

Kafka для начинающих: что сделаешь за 15 минут

Один интернет-магазин, один топик заказов и задачи, которые на работе приходят в Kafka UI. От первого топика до сообщения, застрявшего в DLQ

Основной трек · 8 шагов · около 15 минут

  1. Топик и партиции

    Заведёшь топик заказов на 3 партиции, чтобы его читали параллельно

  2. Ключ сообщения

    Увидишь, почему заказы одного покупателя всегда попадают в одну партицию

  3. Kafka — это лог

    Проверишь, что прочитанные сообщения никуда не делись из топика

  4. Lag консьюмера

    Отправишь 1000 заказов, остановишь консьюмера и найдёшь, сколько он не дочитал

  5. Группы консьюмеров

    Запустишь второй сервис и поймёшь, почему каждая группа читает весь поток сама

  6. Перемотка офсета

    Сбросишь офсет группы на начало, и сервис заново обработает все заказы

  7. Битое сообщение

    Отправишь заказ с обрезанным JSON и разберёшься, почему встал весь поток

  8. DLQ

    Включишь dead letter queue и найдёшь, куда ушло сломанное сообщение

Продвинутый трек · 4 шага

Открывается после основного

  • Падение брокераТопик с replication factor 3, уроненный брокер и новый лидер партиции
  • РебалансЧетыре копии консьюмера на три партиции: кому что досталось и кто простаивает
  • CompactionТопик, где по каждому ключу остаётся только последняя запись
  • RetentionСколько Kafka хранит сообщения и почему это не связано с чтением

Экзамен · 4 поломки

Без подсказок и Деметры, с секундомером

  • Возвраты в четыре потокаТопик под 4 копии сервиса, чтобы ни одна не простаивала
  • Счета опаздываютНайти отстающую группу и помочь ей догнать поток
  • Пересчитать отчётыЗаново обработать все заказы, которые хранит Kafka
  • Lag растётЗапустить поток и не потерять сообщение, из-за которого всё встало

Попробуй

Запусти тренажёр Kafka UI на этой странице

Тот же тренажёр, что в разделе «Тренажёр» платформы. Без входа, прогресс останется в этом браузере

Тренажёр · Kafka UI

Kafka за 15 минут

  • Создашь топик и увидишь, куда Kafka кладёт каждое сообщение
  • Найдёшь lag консьюмера и перемотаешь офсет группы на начало
  • Спасёшь поток, когда одно битое сообщение встало колом

Kafka UI рассчитан на широкий экран: таблицы и боковая панель не помещаются в узкое окно. Открой страницу на компьютере и разверни окно браузера

Без входа и установки. Прогресс сохраняется в этом браузере

Как работает

Как пользоваться Kafka UI, если раньше не пробовал

  1. Деметра ставит задачу

    Каждый шаг — задача из жизни интернет-магазина: завести топик для заказов, найти отставший сервис, разобраться с битым заказом

  2. Ты решаешь её в Kafka UI

    Путь к нужному экрану ищешь сам, как на работе. Нагрузку даёт Эмулятор: он играет роль твоего сервиса и отправляет заказы кнопкой

  3. Застрял — бери подсказку

    Подсказки идут по ступеням: сначала где искать, потом что сделать, в конце кольцо вокруг нужной кнопки

  4. Шаг засчитывается по факту

    Тренажёр проверяет состояние модели: топик заведён, lag найден, сообщение в DLQ. После шага — вывод одной строкой

Сравнение

Тренажёр или Kafka в Docker

ЗапускKafka в Docker: Docker, compose-файл с брокером и Kafka UI, свободная памятьТренажёр: Вкладка браузера, ничего не устанавливаешь
С чего начатьKafka в Docker: Пустой кластер и документация без заданияТренажёр: 8 задач по порядку, от топика до DLQ, с объяснением перед каждой
НагрузкаKafka в Docker: Пишешь продюсер и консьюмер самТренажёр: Эмулятор: 1000 заказов, битый заказ, второй сервис по кнопке
СломалKafka в Docker: Разбираешься, что пошло не так, или поднимаешь всё зановоТренажёр: Здесь ломать и нужно. Начать заново — одна кнопка
ПроверкаKafka в Docker: Сам решаешь, понял ты или нетТренажёр: Шаг засчитывается по состоянию модели, в конце экзамен без подсказок

Вопросы

Что спрашивают про тренажёр Kafka

Нужно ли ставить Kafka или Docker?
Нет. Тренажёр работает в браузере: Kafka внутри него — модель на JavaScript с топиками, партициями, группами консьюмеров и lag. Сервер и установка не нужны
Это настоящий Kafka UI?
Это копия ключевых экранов kafbat UI, открытой версии Kafka UI: Brokers, Topics, Messages, Consumers, сброс офсетов. Вёрстку сверяли с живым kafbat UI. Под интерфейсом модель, а не настоящий кластер, поэтому её можно ломать без последствий
Подойдёт, если я никогда не работал с Kafka?
Да, основной трек начинается с того, что такое топик и зачем он делится на партиции. Перед каждым заданием Деметра объясняет понятие на примере магазина, а если застрял, есть подсказки
Сколько времени займёт?
Основной трек — 8 шагов, около 15 минут. Потом можно пройти продвинутый трек из 4 шагов про брокеры, ребаланс, compaction и retention, а в конце сдать экзамен из 4 поломок
Можно пройти с телефона?
Нет. Kafka UI рассчитан на большой экран: таблицы партиций и боковая панель не помещаются в телефон. Открой страницу с компьютера или ноутбука
Сохранится ли прогресс?
Да, в этом браузере. Закрыл вкладку — в следующий раз продолжишь с того же шага. Начать заново можно со стартового экрана
Какие темы для собеседования есть в тренажёре?
Как ключ выбирает партицию и почему заказы одного покупателя не перемешаются, что такое lag и офсет, чем группа консьюмеров отличается от получателя в очереди, как переобработать данные и куда девать битое сообщение. Это основной трек, а брокеры, ребаланс, compaction и retention — продвинутый

Разберись с Kafka до собеседования, а не на нём

8 заданий в Kafka UI, около 15 минут. Потом продвинутый трек и экзамен без подсказок