Skip to content

Latest commit

 

History

History
37 lines (30 loc) · 1.3 KB

File metadata and controls

37 lines (30 loc) · 1.3 KB

Implementation Notes (Phase 1)

Phase 1 scope: single-node log engine + broker + server/RPC. See PROGRESS.md for phase plan.

Build Order (dependency graph)

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.

Design References

  • pkg/log/DESIGN.md — segment storage design
  • docs/shared/kafka-paper-study.md — Kafka paper study notes
  • docs/shared/kafka-paper-section5.md — experimental results
  • docs/phase2/exactly-once-penalty.md — 2PC performance analysis