35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
[](https://app.codecrafters.io/users/Timmelmann?r=2qF)
|
|
|
|
This is a starting point for Go solutions to the
|
|
["Build Your Own Kafka" Challenge](https://codecrafters.io/challenges/kafka).
|
|
|
|
In this challenge, you'll build a toy Kafka clone that's capable of accepting
|
|
and responding to APIVersions & Fetch API requests. You'll also learn about
|
|
encoding and decoding messages using the Kafka wire protocol. You'll also learn
|
|
about handling the network protocol, event loops, TCP sockets and more.
|
|
|
|
**Note**: If you're viewing this repo on GitHub, head over to
|
|
[codecrafters.io](https://codecrafters.io) to try the challenge.
|
|
|
|
# Passing the first stage
|
|
|
|
The entry point for your Kafka implementation is in `app/server.go`. Study and
|
|
uncomment the relevant code, and push your changes to pass the first stage:
|
|
|
|
```sh
|
|
git commit -am "pass 1st stage" # any msg
|
|
git push origin master
|
|
```
|
|
|
|
That's all!
|
|
|
|
# Stage 2 & beyond
|
|
|
|
Note: This section is for stages 2 and beyond.
|
|
|
|
1. Ensure you have `go (1.19)` installed locally
|
|
1. Run `./your_program.sh` to run your Kafka broker, which is implemented in
|
|
`app/server.go`.
|
|
1. Commit your changes and run `git push origin master` to submit your solution
|
|
to CodeCrafters. Test output will be streamed to your terminal.
|