Kafka.
Event streaming with Apache Kafka — topics, partitions, producers, consumers, Kafka Streams, and ksqlDB.
Beginner
Start here — no prior experience needed
Kafka in Ten Minutes: Your First Topic
Start a Kafka broker, create a topic, produce three messages, and read them back from the console — the whole loop, end to end, in ten minutes.
Kafka Topics, Partitions, and Offsets
Watch a topic split across partitions, see how offsets are assigned per partition, and learn why Kafka only guarantees ordering inside a single partition.
Producing to Kafka from Python
Send records with confluent-kafka, read the broker's acknowledgement, handle delivery failures, and see why the producer is asynchronous by default.
Kafka Consumers and Consumer Groups
Read records from Python, watch two consumers split the partitions of a topic, and see what a rebalance does to in-flight work.
Intermediate
For developers with core concepts down
Keys, Partitioning, and Ordering Guarantees
See how a record key decides its partition, why that is the only ordering guarantee Kafka gives you, and what a custom partitioner changes.
At-Most-Once, At-Least-Once, and Exactly-Once
Reproduce message loss and duplication on purpose, then configure the producer and consumer to get each of Kafka's three delivery guarantees.
Serialization and the Schema Registry
Break a consumer by changing a JSON field, then fix it properly with Avro and a Schema Registry that rejects incompatible changes before they ship.
Advanced
Production-grade patterns for experienced engineers
Replication, ISR, Retention, and Compaction
Kill a broker and watch leadership move, then see the difference between deleting old records by time and compacting a topic down to the latest value per key.
Stream Processing with Kafka Streams
Build a word count, a windowed aggregation, and a stream-table join in Kafka Streams, and see where the state actually lives when your app restarts.
Tuning Kafka Producers and Consumers
Benchmark batching, compression, and fetch sizing against a real broker, and read the metrics that tell you which one is actually your bottleneck.