As always, my blogs are my personal notes.
Hi.
I started learning Kafka with Go. I am not new to message broker/streaming or OOP. But both Kafka and Go are in entirely different ecosystem from what I am used to so that is a bit challenging.
Setup Kafka.
I have followed the simple quick start guide below to setup Kafka locally with one broker.
https://kafka.apache.org/quickstart
if you want to use Kafka in Docker,
https://github.com/lawphotog/sample-docker/blob/main/kafka/docker-compose.yml
Choosing a client library
After researching for a bit on a client library, this one seems to be the best all rounder for Go.
https://github.com/segmentio/kafka-go
there is official one but less popular.
https://github.com/confluentinc/confluent-kafka-go/
Following a tutorial
This tutorial starts from basic but also goes to production ready code at the end. This tutorial also uses the client library I chose above.
https://www.sohamkamani.com/golang/working-with-kafka/
Additional study material
https://app.pluralsight.com/library/courses/apache-kafka-getting-started/table-of-contents
What’s next.
Will create a simple demo Go application that uses Kafka which will include Producer and Customer and can talk to Kafka topic.