System Design Space
Граф знанийНастройки

Обновлено: 25 марта 2026 г. в 03:00

Kafka: The Definitive Guide (short summary)

medium

Kafka важна не потому, что это известный брокер, а потому, что immutable log меняет сам способ интеграции сервисов, потоковой обработки и воспроизводимости данных.

В реальной инженерной работе эта книга помогает проектировать partitioning, retention, consumer groups, delivery semantics и lag-управление как части одного event backbone, а не как набор независимых настроек.

На интервью, review и архитектурных разговорах она особенно полезна, когда нужно показать, как ordering, lag spikes, rebalance и рост storage влияют на надежность всей системы, а не только на messaging-слой.

Практическая польза главы

Практика проектирования

Дает практический каркас для построения event backbone на Kafka в масштабируемых системах.

Качество решений

Помогает выбирать partitioning, retention и consumer-group policy под конкретный workload.

Interview-аргументация

Упрощает объяснение delivery semantics, replay и DLQ-стратегий в production.

Риски и компромиссы

Подсвечивает риски ordering-break, lag-spikes и неконтролируемого роста storage.

Источник

Пост в Книжном кубе

Оригинальный обзор книги от Alexander Polomodov

Читать пост

Kafka: The Definitive Guide, 2nd Edition (Apache Kafka. Потоковая обработка и анализ данных, 2-е издание)

Авторы: Gwen Shapira, Todd Palino, Rajini Sivaram, Krit Petty
Издательство: O'Reilly Media, Inc.
Объём: 485 страниц

Распределённая платформа потоковой обработки: producers, consumers, партиции, репликация, семантики доставки и Kafka Streams.

Оригинал
Перевод

Издания книги

1st Edition

Осень 2017 года — 11 глав, охватывающих основы Kafka, producers, consumers, администрирование и stream processing.

2nd Edition

Конец 2021 года — расширенное издание с акцентом на облачные развёртывания и новые возможности платформы.

Ключевые концепции Kafka

Сообщения и пакеты

Базовые единицы данных в Kafka. Сообщения группируются в пакеты (batches) для эффективной передачи по сети.

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

Топики — логические каналы сообщений, разделённые на партиции для параллельной обработки и масштабирования.

Producers

Клиенты, записывающие сообщения в Kafka. Kafka ориентирована на писателей — высокая пропускная способность записи.

Consumers

Клиенты, читающие сообщения из Kafka. Consumer groups обеспечивают параллельную обработку и отказоустойчивость.

Связанная тема

Designing Data-Intensive Applications

Глубокий разбор потоковой обработки в главе 11

Читать обзор

Рекомендуем

Streaming Data

Архитектура потоковых систем: от сбора до потребления данных

Читать обзор

Структура книги (2nd Edition — 14 глав)

1

Meet Kafka

Введение в publish/subscribe messaging, история создания в LinkedIn, базовые концепции: messages, batches, schemas, topics, partitions, producers, consumers, brokers.

2

Managing Apache Kafka ProgrammaticallyNEW

AdminClient API: асинхронный интерфейс для управления топиками, конфигурациями, consumer groups, метаданными кластера. Leader election и reassigning replicas.

3

Installing Kafka

Установка и конфигурация брокеров, выбор hardware, настройка ZooKeeper/KRaft. Во 2-м издании — больше акцента на облачных развёртываниях.

4

Kafka Producers

Конфигурация producers, сериализация (Avro, JSON), partitioners, headers, interceptors, quotas и управление пропускной способностью.

5

Kafka Consumers

Consumer groups, partition assignment, offset management (auto-commit, sync, async), rebalance listeners, standalone consumers.

6

TransactionsNEW

Exactly-once semantics, transactional producer API, read_committed isolation, идемпотентность и атомарные операции записи.

7

Kafka Internals(под капотом)

Cluster membership, контроллер, репликация, ISR, request processing, физическое хранение, log segments и индексы.

8

Reliable Data Delivery

Гарантии доставки: at-least-once, at-most-once, exactly-once. Конфигурация producer (acks, retries), consumer и broker для надёжности.

9

Securing KafkaNEW

SSL/TLS encryption, SASL authentication (GSSAPI, PLAIN, SCRAM, OAUTHBEARER), authorization с ACLs, аудит и безопасность в production.

10

Building Data Pipelines

Kafka Connect: source и sink connectors, standalone и distributed mode, transformations, converters, dead letter queues.

11

Cross-Cluster Data Mirroring

MirrorMaker 2.0, multi-datacenter архитектуры (Active-Active, Active-Passive), репликация топиков и consumer offsets между кластерами.

12

Administering Kafka

Topic operations, consumer group management, partition reassignment, конфигурация для production, операции с кластером.

13

Monitoring Kafka

JMX metrics, критические метрики брокеров, producers и consumers. Under-replicated partitions, lag monitoring, инструменты мониторинга.

14

Stream Processing

Kafka Streams API: stateless и stateful операции, windowing, joins, KTables vs KStreams, exactly-once processing, тестирование.

Новое во 2-м издании

  • AdminClient API — программное управление кластером
  • Transactions — exactly-once семантика и атомарные операции
  • Security — SSL/TLS, SASL, ACLs для production
  • MirrorMaker 2.0 — улучшенная cross-cluster репликация
  • KRaft — упоминание нового режима без ZooKeeper

Семантики доставки сообщений

At-most-once

Сообщение доставляется не более одного раза. Возможна потеря данных. Подходит для метрик и логов.

At-least-once

Сообщение доставляется минимум один раз. Возможны дубликаты. Стандартный режим Kafka.

Exactly-once

Сообщение доставляется ровно один раз. Требует idempotent producer и transactional API.

Архитектура Kafka кластера

Наведите на компонент для подробностей или нажмите кнопку

Producers
App 1
App 2
App 3
Kafka Cluster
B1
B2
B3
Topic: orders
P0
P1
P2
Consumer Group
C1
← P0
C2
← P1, P2
ZooKeeper / KRaft Controller
Metadata & Coordination
Producer/Consumer
Kafka Cluster
Partitions
Brokers

Репликация партиций

Leader принимает записи, followers реплицируют

Topic: orders(replication factor = 3)
Broker 1
Leader
Partitions:
P0 (Leader)
P1 (Follower)
P2 (Follower)
Broker 2
Follower
Partitions:
P0 (Follower)
P1 (Leader)
P2 (Follower)
Broker 3
Follower
Partitions:
P0 (Follower)
P1 (Follower)
P2 (Leader)
ISR (In-Sync Replicas):
Broker 1
Broker 2
Broker 3
min.insync.replicas = 2
✓ Writes allowed
Leader partition
Follower replica
Active broker
Failed broker

Ключевые выводы для System Design

  • Партиционирование — ключ к горизонтальному масштабированию. Выбор partition key определяет распределение нагрузки.
  • Репликация обеспечивает отказоустойчивость. ISR (In-Sync Replicas) гарантирует консистентность.
  • Consumer groups позволяют масштабировать обработку. Количество consumers ≤ количество партиций.
  • Retention policy определяет, как долго хранятся данные. Kafka может работать как лог-хранилище.
  • Kafka Connect упрощает интеграцию с внешними системами без написания кода (source и sink connectors).

Связанные главы

Где найти книгу

Чтобы отмечать прохождение, включи трекинг в Настройки