Чему вы научитесь
- Разбираться в исходном коде Kafka на Scala/Java и системных вызовах Linux (io_uring, sendfile, eBPF) для низкоуровневой оптимизации.
- Проектировать отказоустойчивые распределенные топологии, настраивать консенсус KRaft и восстанавливать кластер при потере кворума.
- Конфигурировать подсистемы хранения, виртуальную память ОС и Page Cache брокера для максимизации IOPS дисковой подсистемы.
- Разрабатывать высокопроизводительные Lock-free партиционеры, транзакционные продюсеры и многопоточные отказоустойчивые консьюмеры.
- Строить аналитические графы обработки данных с помощью Kafka Streams и оптимизировать локальные хранилища состояний RocksDB под Highload.
- Внедрять интеграционные решения Change Data Capture на базе Debezium и координировать эволюцию Avro/Protobuf схем через Schema Registry.
- Диагностировать и устранять критические инциденты (Data Loss, Split-Brain, дротлинг облачных дисков) по JMX-метрикам и eBPF-трассировке.
- Устранять 22 основных архитектурных и инфраструктурных антипаттерна в продюсерах, консьюмерах и конфигурации брокеров.
О курсе
«Apache Kafka под капотом» — это глубокий инженерный курс, созданный для того, чтобы закрыть пробелы в понимании распределенных систем и научить вас работать с Kafka на уровне ядра брокера, исходного кода и системных вызовов ОС.
Почему стоит выбрать этот курс?
Большинство материалов объясняют лишь базовый API. Этот курс убирает абстракции: мы построчно разбираем логику Scala/Java, опускаемся до sendfile(), io_uring и eBPF, а также учимся мыслить компромиссами между надежностью и скоростью. Вы разберете реальные инциденты (Split-Brain, Data Loss, падение дисков) и узнаете, как уверенно держать нагрузку в 1 000 000+ RPS.
Чему вы научитесь?
- Оптимизировать брокеры: настраивать Page Cache, управлять RocksDB, тюнить сетевой стек Linux и JVM (G1GC/ZGC).
- Проектировать для Highload: внедрять KRaft, Tiered Storage, балансировку L4 и паттерны вроде transactional outbox или саг.
- Интегрировать экосистему: строить потоковую аналитику, выстраивать CDC с Debezium и эволюцию схем в Schema Registry.
- Предотвращать аварии: выявлять и исправлять 22 критических антипаттерна.
Как устроено обучение и разделы
Программа разделена на 12 логических модулей:
- Фундамент и ввод-вывод: Page Cache, Zero-Copy, сетевой движок Java NIO, io_uring.
- Консенсус и репликация: ISR, High Watermark, устройство KRaft, восстановление кворума.
- Продвинутая инженерия клиентов: RecordAccumulator, Cooperative Sticky Assignor, ручной сдвиг оффсетов.
- Аналитика и интеграции: архитектура Kafka Streams, вычитка WAL/binlog баз данных, OpenTelemetry.
- Highload и Продакшен: OpenSSL шифрование, квоты, eBPF-профилирование и разбор 22 главных ошибок.
Для кого этот курс
Начальные требования
Этот курс ориентирован на глубокий хардкорный инжиниринг и низкоуровневый разбор систем. Чтобы обучение было максимально эффективным и вы не буксовали на базовых вещах, вам необходимы определенный бэкграунд и навыки.
Что необходимо знать и уметь до старта:
- Опыт работы с Apache Kafka в продакшене: Вы уже запускали продюсеры и консьюмеры, понимаете базовые концепции (топики, партиции, группы потребителей, оффсеты) и использовали Kafka в реальных проектах.
- Уверенное владение Java или Scala: Программа включает в себя построчный разбор исходного кода ядра Kafka. Вам нужно понимать многопоточность в JVM (блокировки, итераторы, коллекции), принципы работы Garbage Collector и Memory Management.
- Базовые знания администрирования Linux: Мы будем погружаться в системные вызовы ядра. Ожидается, что вы понимаете, как устроена работа с дисками, файловыми системами (ext4/XFS), оперативной памятью (Page Cache) и сетевым стеком.
- Понимание архитектуры распределенных систем: Вы должны быть знакомы с фундаментальными проблемами распределенных сред (теорема CAP, концепция консенсуса, сетевые задержки, split-brain).
- Концептуальное понимание Docker и Kubernetes: Будет плюсом, если вы понимаете основы оркестрации, контейнеризации и сетевого взаимодействия в K8s, так как мы будем разбирать подводные камни Strimzi Operator.
Кому курс покажется слишком сложным:
- Новичкам в коммерческой разработке или тем, кто никогда не работал с брокерами сообщений в реальных проектах.
- Специалистам, которые не умеют читать код на Java/Scala и не готовы погружаться в экосистему JVM.
Наши преподаватели
Как проходит обучение
Обучение на курсе построено вокруг глубокого погружения в теорию (инженерного хардкора) и разбора реальных Highload-кейсов. Вы будете не просто читать лекции, а исследовать внутреннее устройство систем.
Что входит в процесс обучения:
- Разборы кода
Изучаем теорию распределенных систем без «воды». Смотрим под капот брокера: разбираем построчно исходный код Scala/Java, структуры данных (Timing Wheels,Record Batch v2) и нативные интеграции (io_uring,Project Panama). - Интерактивные архитектурные тесты
Диагностические задания на выявление скрытых пробелов в знаниях. Проверка на реальных сценариях: как за 5 минут определить причину падения производительности, деградации дисков или вылета брокеров из ISR. - Разбор реальных продакшен-инцидентов
Анализ живых кейсов: от полной потери кворума KRaft до борьбы с перекосом трафика (Skewed Produce) с помощью паттернаSalting
Программа курса
Что вы получаете
- Ультимативные хардкорные знания архитектуры Apache Kafka на уровне исходного кода Scala/Java, системных вызовов Linux и тюнинга подсистем ядра ОС.
- Готовые архитектурные паттерны для работы на сверхвысоких нагрузках (1M+ RPS): внедрение KRaft, построение Tiered Storage, шардирование с помощью Salting и реализация распределенных транзакций.
- Портфолио сложных проектов, включающее в себя кастомные lock-free партиционеры, отказоустойчивые многопоточные консьюмеры, пайплайны Change Data Capture (Debezium).