Apache Kafka под капотом: архитектура, исходный код, Highload

Погрузитесь в низкоуровневую архитектуру, разбор исходного кода Scala/Java и системные вызовы Linux (io_uring, eBPF). Вы освоите устройство Storage Engine, эволюцию консенсуса KRaft, тонкости Kafka Streams, СDC (Debezium) и Schema Registry. Научитесь проектировать гео-распределенные системы, выжимать 1M+ RPS и…
Продвинутый уровень
Свободно

Чему вы научитесь

  • Разбираться в исходном коде 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 логических модулей:

  1. Фундамент и ввод-вывод: Page Cache, Zero-Copy, сетевой движок Java NIO, io_uring.
  2. Консенсус и репликация: ISR, High Watermark, устройство KRaft, восстановление кворума.
  3. Продвинутая инженерия клиентов: RecordAccumulator, Cooperative Sticky Assignor, ручной сдвиг оффсетов.
  4. Аналитика и интеграции: архитектура Kafka Streams, вычитка WAL/binlog баз данных, OpenTelemetry.
  5. Highload и Продакшен: OpenSSL шифрование, квоты, eBPF-профилирование и разбор 22 главных ошибок.

Для кого этот курс

Этот курс разработан для опытных IT-специалистов, которые ежедневно работают с распределенными системами и Highload-нагрузками.

Начальные требования

Этот курс ориентирован на глубокий хардкорный инжиниринг и низкоуровневый разбор систем. Чтобы обучение было максимально эффективным и вы не буксовали на базовых вещах, вам необходимы определенный бэкграунд и навыки.

Что необходимо знать и уметь до старта:

  • Опыт работы с 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).

Сколько стоит обучение

Price: 900 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 900