Build Your Own Kafka - From Scratch

The whole build laid out as one map, in the order each stage’s own problem forces the next.
Before you start. This series builds a small copy of Kafka: a program that keeps a list of everything that happened, in order, and lets any number of programs each read that list from wherever they left off. You need to know only that a file is a named place on disk you can add bytes to and read back later; if you’ve already built the first system in this track, you’ve seen the same length-prefixed record trick this one reuses.
Code: teaching/code/from-scratch/kafka/ - one Go module, each stage runs alone:
go run ./01-queue … go run ./07-semantics. 02 and 03 write real log/segment
files you can inspect and delete.