Phase 1 scope: single-node log engine + broker + server/RPC. See PROGRESS.md for phase plan.
Message (core)
-> Segment (stores messages)
-> Index (offset lookup)
-> TimeIndex (time lookup)
-> Partition (collection of segments)
-> Topic (collection of partitions)
-> Broker (manages topics)
-> Producer (writes to broker)
-> Consumer (reads from broker)
-> Consumer Group (coordinates consumers)
| Phase | What | Depends on | Testable independently |
|---|---|---|---|
| 1 | Message format | Nothing | Yes |
| 2 | Segment (append, read, rotate) | Message | Yes |
| 3 | Index + TimeIndex | Segment | Yes |
| 4 | Partition + Topic | Segment, Index | Yes |
| 5 | Broker (single node) | Topic | Yes |
| 6 | Producer/Consumer RPC | Broker | Yes |
| 7 | Consumer Group | Consumer, Broker | Yes |
Each phase builds on the previous. Message is the core entity all others depend on.
pkg/log/DESIGN.md— segment storage designdocs/shared/kafka-paper-study.md— Kafka paper study notesdocs/shared/kafka-paper-section5.md— experimental resultsdocs/phase2/exactly-once-penalty.md— 2PC performance analysis