Skip to content

Kafka — From Zero to Hero

Apache Kafka is a distributed event streaming platform: a durable, replayable log that many producers write to and many consumers read from, independently and at their own pace. This course is written for developers — people who write producers and consumers, reason about delivery guarantees, and have to make Kafka behave correctly in production.

It targets Kafka 4.x, which runs exclusively in KRaft mode — ZooKeeper has been fully removed. Every CLI example uses --bootstrap-server, and the client examples are TypeScript using KafkaJS — the widely-used Node.js client whose API is also implemented by Confluent’s official @confluentinc/kafka-javascript. (Kafka Streams, covered later, is a JVM-only library and is shown in Java.)

ModuleYou will learn
Foundations & the LogWhat Kafka is, the append-only log abstraction, brokers/topics/partitions/offsets, and KRaft
Topics, Partitions & ReplicationPartitioning and ordering, keys, replication and ISR, retention and log compaction
Producing MessagesThe producer API, acks and durability, the idempotent producer, batching and compression
Consuming & Consumer GroupsThe poll loop, consumer groups and rebalancing (KIP-848), offset commits, delivery semantics
Delivery Semantics & TransactionsEnd-to-end guarantees, transactions, exactly-once processing, error handling
Streams, Connect & Schema RegistrySchema Registry, Kafka Connect, Kafka Streams, and choosing a processing layer
Operations & ProductionRunning Kafka locally, monitoring and consumer lag, tuning, and security

Each lesson opens with the idea in one sentence, shows real client and CLI code, has a diagram of the moving parts, and ends with a one-line takeaway plus a short quiz. Work top to bottom — later modules assume the log, partition, and offset vocabulary from these first lessons.