
- Overview tab: Read this first. It contains concept summaries, architecture diagrams, and any prerequisites.
- Tasks tab: Follow the numbered, step-by-step workbook to complete the lab exercises.
- Terminal: Run all commands in the lab terminal. Use Hint and Solution tabs if you need help. Click Check to validate your work and progress.
The terminal provided in each lab is where you will run all hands-on commands. If you get stuck, use the Hint and Solution tabs, and click the Check button to validate your solutions and progress.
- Introduction to Apache Kafka: what it is, how it works, and why it’s used for real-time streaming.
- Kafka architecture and components: brokers, ZooKeeper (or KRaft in newer releases), producers, consumers, topics, and partitions.
- Producer and consumer development: send and receive messages, and build simple apps.
- Topics and partitions: how partitioning enables parallelism and horizontal scaling.
- Environment setup: configuring brokers, topics, and client settings.
- Hands-on exercises: build and run producer and consumer applications to verify message flow.
Important: Kafka’s architecture has evolved. Older releases use ZooKeeper for metadata management; newer releases offer KRaft (Kafka Raft) mode to eliminate ZooKeeper. Check the Kafka release notes and lab prerequisites for the target version you’ll use in each exercise.
- Lab 1 (Foundations): Set up a local Kafka environment, create topics, and run basic producer/consumer examples.
- Lab 2 (Producers): Build simple producer applications and explore key serializers, partitioning, and batching.
- Lab 3 (Consumers): Implement consumers, manage offsets, and practice consumer groups and rebalancing.
- Lab 4 (Operations): Configure broker settings, monitor cluster health, and perform simple troubleshooting.
- Labs conclude with a mini-project that ties together producing, consuming, and topic management.
- Apache Kafka: https://kafka.apache.org/
- Kafka Quickstart: https://kafka.apache.org/quickstart
- Kafka Documentation (Architecture & APIs): https://kafka.apache.org/documentation/
- Estimated time: 3–6 hours total, depending on familiarity with distributed systems and command-line tools.
- Prerequisites: Basic Linux command-line skills, familiarity with Java (or a client language), and a working web terminal (provided in labs).