Dung (Donny) Nguyen

Senior Software Engineer

Apache Kafka Learning Roadmap

Apache Kafka is the backbone of many event-driven systems, but its learning curve is steep: it is a distributed log, a messaging system, a storage layer, and a stream-processing platform at the same time. This roadmap breaks Kafka into stages, so you can go from “what is a topic?” to running and operating Kafka-based services in production. Follow the stages in order, and build a small project at each one.

Stage 0: Prerequisites

Kafka builds on ideas from networking, distributed systems, and backend development. Make sure you are comfortable with these first.

Stage 1: Event-Driven Fundamentals

Before learning Kafka’s API, understand the problem it solves.

Stage 2: Kafka Core Concepts

This is the mental model everything else depends on. Take your time here.

Practice: Run a single-broker cluster in Docker, then use the CLI tools (kafka-topics.sh, kafka-console-producer.sh, kafka-console-consumer.sh) to create a topic with three partitions, produce keyed records, and watch which partition each key lands in.

Stage 3: Producers

Learn how data gets into Kafka reliably and efficiently.

Stage 4: Consumers and Consumer Groups

This is where most production bugs come from, so learn it deeply.

Practice: Build an order service that produces OrderPlaced events and an email service that consumes them. Start two instances of the email service in the same group, then kill one and watch the partitions move to the other.

Stage 5: Schemas and Data Contracts

Once several teams share a topic, the shape of the data becomes a contract.

Stage 6: Reliability and Exactly-Once Processing

Learn how Kafka keeps data correct when things fail.

Stage 7: Kafka in Your Framework

Most production code does not use the raw client directly. Learn the integration for your stack.

Practice: Rebuild the Stage 4 project in Spring Boot, add a retry topic and a dead-letter topic, and write an integration test with Testcontainers.

Stage 8: Stream Processing

Kafka is not only a pipe. You can process data while it flows.

Practice: Count orders per product in five-minute windows and publish the results to a new topic.

Stage 9: Kafka Connect and Change Data Capture

Move data in and out of Kafka without writing custom producers and consumers.

Stage 10: Event-Driven Architecture Patterns with Kafka

Combine what you have learned into real system designs.

Practice: Design an e-commerce checkout with order, payment, and inventory services that communicate only through Kafka, with a saga that cancels the order when the payment fails.

Stage 11: Operations, Security, and Monitoring

Production Kafka is as much an operations topic as a development topic.

Stage 12: Interview and Real-World Readiness

Be ready to explain and defend your Kafka designs.

Suggested Learning Order at a Glance

Stage Focus Outcome
0-1 Prerequisites and event-driven basics You know why Kafka exists
2 Core concepts You can explain topics, partitions, offsets, and replication
3-4 Producers and consumers You can build reliable services that use Kafka
5-6 Schemas and reliability Your data is safe and compatible as it evolves
7 Framework integration You can ship Kafka code in your stack, with tests
8-9 Streams and Connect You can process and integrate data without custom glue
10 Architecture patterns You can design event-driven systems
11-12 Operations and interviews You can run Kafka in production and explain your choices

Conclusion

Kafka rewards patience. Most problems in production come from a weak grasp of Stage 2 and Stage 4: partitions, keys, offsets, and consumer groups. Master those first, then layer on schemas, reliability, stream processing, and architecture patterns. Build something small at each stage, break it on purpose, and watch how Kafka behaves. That hands-on experience is what turns Kafka from a black box into a tool you can trust.