This is a finished Java implementation for the "Build Your Own Kafka" Challenge. This code implements functionality for all stages (and extensions) of the challenge as of 2025-02-13.
- Respond to an
APIVersionsrequest with supported API calls (APIVersion,DescribeTopicPartitions,Fetch). - Respond to
DescribeTopicPartitionsandFetchrequests with real data ( Given aserver.propertiesfile it will parse the kafka metadata log file and topic data fromlog.dirs). Otherwise, it will happily respond with "I know nothing of these topics or their partitions."
You will need Java 23 (or later) and maven installed to run this code. The program can then be run with:
./your_program.sh /optional/path/to/server.properties
A short video of the code being run in the codecrafters test environment: