Learning Path

Apache Kafka Roadmap

Mastering Distributed Event Streaming from Zero to Production

8Phases
8Weeks
16Skills

Your Journey at a Glance

1Foundations & The Distributed Log2 skills
2Producer Mastery2 skills
3Consumer Deep Dive2 skills
4Storage Internals & Performance2 skills
5Reliability & Exactly-Once (EOS)2 skills
6The Ecosystem: Connect & Schema Registry2 skills
7Stream Processing: Streams & ksqlDB2 skills
8Operations & Real-World Patterns2 skills

💡 How to use this roadmap

Work through each phase in order. Click on a skill to expand it — you'll find a description and curated resources. Don't rush; understanding beats speed. Complete one phase before moving to the next.

1

Foundations & The Distributed Log

Understand why Kafka exists. Learn the fundamental difference between a Message Queue and a Distributed Log.

Week 1

2

Producer Mastery

Sending data reliably and efficiently. Learn how to tune producers for latency vs throughput.

Week 2

3

Consumer Deep Dive

Reading data at scale. Learn how to manage state, handle failures, and scale consumption through groups.

Week 3

4

Storage Internals & Performance

How Kafka stores data on disk. Learn about segments, compaction, and zero-copy optimization.

Week 4

5

Reliability & Exactly-Once (EOS)

The peak of Kafka expertise. Learn how to achieve transactional consistency across producers and consumers.

Week 5

6

The Ecosystem: Connect & Schema Registry

Moving data to and from other systems without writing custom code. Managing data quality at scale.

Week 6

7

Stream Processing: Streams & ksqlDB

Processing data as it arrives. Learn how to join streams, manage state, and run SQL on top of Kafka.

Week 7

8

Operations & Real-World Patterns

Running Kafka in production and designing robust event-driven systems.

Week 8

🏆

Roadmap Complete!

You now have the foundations of a production-ready Java engineer. Apply by building real projects.

Capstone Project

Build a Real-Time Fraud Detection & Notification System

Architect a complete event-driven system that processes financial transactions, detects fraud using stateful streaming, and notifies users with millisecond latency.

What you'll build

  • Transactional Outbox pattern to ingest events from a PostgreSQL database reliably
  • Schema Registry to enforce Avro contracts across Producer and Consumer services
  • Kafka Streams app to join high-volume Transaction stream with account metadata (KTable)
  • ksqlDB for real-time aggregation and anomaly detection (e.g., more than 5 payments in 1 minute)
  • Dead Letter Queue (DLQ) for malformed or unprocessable payment events
  • MirrorMaker 2 to replicate critical fraud events to a secondary disaster recovery cluster

Tech stack

Apache Kafka (KRaft)Kafka Streams / ksqlDBDebezium (CDC)Schema RegistryPostgreSQLOpenTelemetry (Tracing)

Key highlights

  • Demonstrates mastery of Exactly-Once Semantics (EOS) and stateful streaming
  • Covers the full ecosystem: Connect, Registry, and Streaming CLI
  • Production-ready: includes DLQ patterns, monitoring, and disaster recovery design

Real-World Scenarios

Practical case studies where these skills are applied.

01The Thundering Herd: Consumer Group Rebalance

The Problem

A cluster of 50 consumers experienced a massive heartbeat timeout, triggering a constant loop of rebalancing that brought message processing to a halt.

The Solution

Optimized `max.poll.records` and `max.poll.interval.ms` to match actual processing time. Switched to 'Cooperative Sticky' assignor to allow incremental rebalancing without stopping the world.

Outcome

Balanced the cluster with 90% fewer 'stop-the-world' events, maintaining steady throughput during scaling events.

02Data Loss in a High-Throughput Cluster

The Problem

During a broker failure, some produce requests were lost despite the producer receiving a success response, leading to inconsistent financial ledgers.

The Solution

Changed `acks` from `1` to `all` and set `min.insync.replicas` to 2. Enabled `idempotence` on the producer to prevent duplicate messages during retries.

Outcome

Achieved zero data loss and strict exactly-once delivery guarantees at the cost of slight latency increase.

03The Poison Pill: Deserialization Failure

The Problem

A single malformed message in a topic caused all consumers in a group to crash repeatedly, leading to a permanent processing block (Poison Pill).

The Solution

Implemented a 'Dead Letter Queue' (DLQ) pattern in the consumer logic. Added a global error handler that catches deserialization errors and routes the raw bytes to an audit topic.

Outcome

Restored system resilience; malformed data is now isolated for manual inspection without affecting the main pipeline.

Want to Go Deeper?

Join a live cohort, read in-depth guides, or watch video lessons on the topics in this roadmap.