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.
Издания книги
Осень 2017 года — 11 глав, охватывающих основы Kafka, producers, consumers, администрирование и stream processing.
Конец 2021 года — расширенное издание с акцентом на облачные развёртывания и новые возможности платформы.
Ключевые концепции Kafka
Сообщения и пакеты
Базовые единицы данных в Kafka. Сообщения группируются в пакеты (batches) для эффективной передачи по сети.
Топики и партиции
Топики — логические каналы сообщений, разделённые на партиции для параллельной обработки и масштабирования.
Producers
Клиенты, записывающие сообщения в Kafka. Kafka ориентирована на писателей — высокая пропускная способность записи.
Consumers
Клиенты, читающие сообщения из Kafka. Consumer groups обеспечивают параллельную обработку и отказоустойчивость.
Связанная тема
Designing Data-Intensive Applications
Глубокий разбор потоковой обработки в главе 11
Рекомендуем
Streaming Data
Архитектура потоковых систем: от сбора до потребления данных
Структура книги (2nd Edition — 14 глав)
Meet Kafka
Введение в publish/subscribe messaging, история создания в LinkedIn, базовые концепции: messages, batches, schemas, topics, partitions, producers, consumers, brokers.
Managing Apache Kafka ProgrammaticallyNEW
AdminClient API: асинхронный интерфейс для управления топиками, конфигурациями, consumer groups, метаданными кластера. Leader election и reassigning replicas.
Installing Kafka
Установка и конфигурация брокеров, выбор hardware, настройка ZooKeeper/KRaft. Во 2-м издании — больше акцента на облачных развёртываниях.
Kafka Producers
Конфигурация producers, сериализация (Avro, JSON), partitioners, headers, interceptors, quotas и управление пропускной способностью.
Kafka Consumers
Consumer groups, partition assignment, offset management (auto-commit, sync, async), rebalance listeners, standalone consumers.
TransactionsNEW
Exactly-once semantics, transactional producer API, read_committed isolation, идемпотентность и атомарные операции записи.
Kafka Internals(под капотом)
Cluster membership, контроллер, репликация, ISR, request processing, физическое хранение, log segments и индексы.
Reliable Data Delivery
Гарантии доставки: at-least-once, at-most-once, exactly-once. Конфигурация producer (acks, retries), consumer и broker для надёжности.
Securing KafkaNEW
SSL/TLS encryption, SASL authentication (GSSAPI, PLAIN, SCRAM, OAUTHBEARER), authorization с ACLs, аудит и безопасность в production.
Building Data Pipelines
Kafka Connect: source и sink connectors, standalone и distributed mode, transformations, converters, dead letter queues.
Cross-Cluster Data Mirroring
MirrorMaker 2.0, multi-datacenter архитектуры (Active-Active, Active-Passive), репликация топиков и consumer offsets между кластерами.
Administering Kafka
Topic operations, consumer group management, partition reassignment, конфигурация для production, операции с кластером.
Monitoring Kafka
JMX metrics, критические метрики брокеров, producers и consumers. Under-replicated partitions, lag monitoring, инструменты мониторинга.
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 кластера
Наведите на компонент для подробностей или нажмите кнопку
Репликация партиций
Leader принимает записи, followers реплицируют
Ключевые выводы для System Design
- ▸Партиционирование — ключ к горизонтальному масштабированию. Выбор partition key определяет распределение нагрузки.
- ▸Репликация обеспечивает отказоустойчивость. ISR (In-Sync Replicas) гарантирует консистентность.
- ▸Consumer groups позволяют масштабировать обработку. Количество consumers ≤ количество партиций.
- ▸Retention policy определяет, как долго хранятся данные. Kafka может работать как лог-хранилище.
- ▸Kafka Connect упрощает интеграцию с внешними системами без написания кода (source и sink connectors).
Связанные главы
- Streaming Data (short summary) - Системный взгляд на потоковую архитектуру end-to-end: от ingestion до потребителей и windowed-обработки.
- Designing Data-Intensive Applications (short summary) - Фундамент по репликации, консистентности и stream processing, который объясняет внутренние компромиссы Kafka.
- Distributed Message Queue - Практический кейс проектирования очереди сообщений: ordering, throughput, durability и деградации при сбоях.
- Event-Driven Architecture: Event Sourcing, CQRS, Saga - Архитектурный контекст, где Kafka выступает транспортным backbone для событийных бизнес-процессов.
- Kappa Architecture: stream-first альтернатива Lambda - Подход с единым потоковым контуром, где Kafka-log становится источником истины для online и replay.
- Data Pipeline / ETL / ELT Architecture - Интеграция Kafka в data-платформу: ingestion, orchestration, качество данных и эксплуатационная надёжность.
- Enterprise Integration Patterns (short summary) - Паттерн-язык интеграции, который помогает проектировать надежные producer/consumer и routing-сценарии.
- Big Data: Principles and best practices of scalable realtime data systems (short summary) - Стратегический контекст построения realtime data systems, где Kafka часто является центральным компонентом.
- Google Global Network: эволюция и архитектурные принципы для AI-эпохи - Сетевой контекст для межрегиональной репликации и high-throughput потоков при глобальном масштабе.
- Google TPU: эволюция архитектуры и impact на ML-системы - Понимание AI-нагрузок, где Kafka-подобные логи и стримы питают data/ML pipelines.
