Getting started with Kafka with Go

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

https://app.pluralsight.com/library/courses/designing-event-driven-applications-apache-kafka-ecosystem/table-of-contents

https://app.pluralsight.com/library/courses/kafka-build-deploy-monitor-real-world-application/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.

Leave a comment