Итоги курса Apache Kafka Deep-Dive
Вы прошли весь курс Apache Kafka Deep-Dive. Это финальный модуль, который подводит итоги тринадцати модулей и указывает направление дальнейшего развития.
Путь, который вы прошли
Модули 01-04: Ядро
Модули 01-04: Фундамент. KRaft архитектура, API producers и consumers, внутреннее устройство: log segments, compaction, индексы. Без этого фундамента невозможно понять производительность и надёжность.Модули 05-06: Интеграция
Модули 05-06: Интеграционный слой. Kafka Connect для подключения внешних систем без кода (сотни готовых connectors). Schema Registry для управления эволюцией схем с контрактами совместимости.Модули 07-08: Стриминг
Модули 07-08: Обработка потоков. Kafka Streams DSL: stateful операции, KTable, windowing, joins — прямо внутри JVM без внешней системы. ksqlDB: SQL поверх Kafka для команд без Java-кода.Модули 09-10: Production
Модули 09-10: Production-ready. Безопасность: SASL, TLS, ACL, квоты. Production ops: JMX метрики, мониторинг, capacity planning, partition reassignment. Разрыв между 'знаю API' и 'умею эксплуатировать'.Модули 11-12: Масштаб
Модули 11-12: Масштабирование. Multi-DC с MirrorMaker 2: RPO/RTO планирование, offset translation, active-passive топологии. Design patterns: Event Sourcing, CQRS, Outbox, Saga — архитектурные подходы для сложных систем.Модуль 13: Синтез
Модуль 13: Синтез. E-commerce capstone challenge: применение знаний всех 12 модулей в одной архитектурной задаче. Portfolio-артефакт, демонстрирующий production компетентность.Ключевые выводы курса
Модули 01-04: Архитектура и ядро
| Концепция | Практическое применение |
|---|---|
| KRaft (без ZooKeeper) | Kafka 4.0 полностью на KRaft. Контроллер встроен в брокер. Развёртывание проще. |
| Partition leadership, ISR | UnderReplicatedPartitions > 0 = потенциальная проблема. Первый алерт в production. |
acks=all + ISR | Гарантия durability: каждая запись подтверждена всеми ISR-репликами. |
| Log segments, compaction | log.cleanup.policy=compact для changelog топиков. delete для event streams. |
| Producer idempotence | enable.idempotence=true — exactly-once within single partition, бесплатно. |
| Consumer group rebalancing | Cooperative Sticky Assignor — минимальный rebalancing при масштабировании. |
Модули 05-06: Connect и Schema Registry
| Концепция | Практическое применение |
|---|---|
| Kafka Connect | Сотни готовых connectors. JDBC Source/Sink, Elasticsearch, S3. Не пишите producer/consumer когда есть connector. |
| Debezium CDC | Capture Database Events через WAL. Основа transactional outbox pattern. |
| Avro + Schema Registry | Контракт между producer и consumer. Эволюция схем без breaking changes: BACKWARD compatibility. |
| TopicNameStrategy | {topic}-value — один schema subject per topic. Стандарт для большинства случаев. |
Модули 07-08: Stream Processing
| Концепция | Практическое применение |
|---|---|
| KTable vs KStream | KStream: события (append). KTable: снепшоты (upsert по ключу). |
| Stream-Table JOIN | Обогащение событий справочными данными без синхронных HTTP вызовов. |
| Windowed aggregations | Tumbling: неперекрывающиеся окна. Hopping: перекрывающиеся. Session: по активности. |
| ksqlDB | SQL для аналитики и простых трансформаций. Kafka Streams для сложной логики с тестами. |
Модули 09-10: Security и Production Ops
| Концепция | Практическое применение |
|---|---|
| SASL/SCRAM-SHA-256 | Динамические credentials без restart. Каждый сервис — отдельный principal. |
| StandardAuthorizer | Kafka 4.0 KRaft authorizer. allow.everyone.if.no.acl.found=false в production. |
| JMX + Prometheus | Три критических метрики: UnderReplicatedPartitions, RequestHandlerAvgIdlePercent, consumer lag. |
| JVM heap = 6 ГБ | Никогда не увеличивать. Больше heap = GC паузы = latency spikes. |
| Partition reassignment | Всегда с --throttle. После завершения — удалить throttle + preferred leader election. |
Модули 11-12: Multi-DC и Паттерны
| Концепция | Практическое применение |
|---|---|
| MirrorMaker 2 | Три connector’а: MirrorSource (данные), MirrorCheckpoint (offsets), MirrorHeartbeat (мониторинг). |
| Active-passive | DR для одного основного DC. RPO = MM2 lag (~2-5 сек). RTO = ~7-10 мин. |
sync.group.offsets.enabled=true | Автоматический перенос consumer group offsets на DR кластер. Нет ручного offset translation. |
| Transactional Outbox | Atomicity между БД и Kafka без distributed transactions. Debezium CDC = production-ready реализация. |
| Saga Orchestration | При 4+ сервисах: оркестрация даёт централизованную логику компенсации и наблюдаемость. |
Что изучить дальше
Курс Apache Kafka Deep-Dive дал вам знания для проектирования, развёртывания и эксплуатации production Kafka систем. Следующие шаги зависят от направления специализации:
Apache Flink
Apache Flink: продвинутая потоковая обработка. Stateful streaming с гарантиями exactly-once через checkpointing. DataStream API для сложных topologies, Table API/SQL для аналитики. Flink превосходит Kafka Streams при cross-partition операциях и сложных joins.Strimzi / Kubernetes
Strimzi (Kubernetes Operator): автоматизация Kafka на Kubernetes. KafkaNodePool, KafkaMirrorMaker2, KafkaConnect как Kubernetes Custom Resources. Rolling upgrades, auto-scaling, cert-manager интеграция.Confluent Cloud / CCDAK
Confluent Cloud: managed Kafka + Schema Registry + ksqlDB + Flink. Elastically scalable. Для команд, которые хотят platform без операционной нагрузки. CCDAK сертификация для карьерного роста.Debezium Deep-Dive
Debezium Deep-Dive (отдельный курс): CDC для PostgreSQL, MySQL, MongoDB. EventRouter SMT, Outbox pattern в деталях, schema evolution с Avro. Продолжение темы из Модуля 05.OpenTelemetry + Tracing
OpenTelemetry + Distributed Tracing: наблюдаемость для event-driven систем. Jaeger/Tempo для трассировки через Kafka. W3C TraceContext headers в Kafka records для сквозной трассировки saga.Data Lakehouse (Iceberg)
Apache Iceberg / Delta Lake: streaming ingestion через Kafka Connect в Data Lakehouse. ACID transactions поверх object storage. Следующий уровень после JDBC Sink.Краткие рекомендации по направлениям:
- Если вы Data Engineer: изучайте Apache Flink и Data Lakehouse (Iceberg + Kafka). Это текущий stack для streaming analytics.
- Если вы Platform/SRE Engineer: Strimzi + Kubernetes операции, Kafka на Kubernetes в production.
- Если вы Software Engineer: Debezium Deep-Dive + OpenTelemetry для event-driven microservices. Сертификация CCDAK.
- Если вы Architect: все направления, плюс изучите Kafka vs Pulsar trade-offs для следующего поколения систем.
Завершение курса
Завершив этот курс, вы теперь обладаете знаниями для:
- Проектирования production Kafka архитектур с обоснованием каждого решения
- Развёртывания безопасного кластера с SASL, TLS и ACL
- Настройки мониторинга и алертинга с реалистичными порогами
- Планирования capacity с расчётами под конкретную нагрузку
- Реализации Multi-DC с MirrorMaker 2 и конкретными RPO/RTO числами
- Применения паттернов Event Sourcing, CQRS, Outbox, Saga в реальных сценариях
- Использования Kafka Streams и ksqlDB для stream processing
Архитектурный challenge из Модуля 13 — ваш portfolio-артефакт. Он демонстрирует работодателям и клиентам, что вы можете не просто использовать Kafka API, но и проектировать complete production systems.
Выполнение всех модульных экзаменов курса открывает доступ к сертификату об окончании курса Apache Kafka Deep-Dive. Используйте его как дополнение к официальной сертификации CCDAK.