An application has been coded that producer and consumer a JSON message to Apache Kafka using the Go programming language.

  • By Nur Hatipoglu
  • Last update: Jun 1, 2022
  • Comments: 0

Apache-Kafka-Golang-Project

170419011 Nur Hatipoğlu Açık Kaynak Kodlu Yazılımlar Dönem Proje Ödevi

alt text

Apache Kafka Uygulaması Geliştirme Projesi

Go programlama dili kullanılarak Apache Kafka’ya "myTopic" adı altına bir JSON mesajını üreten (procuder) ve bu "myTopic" deki mesajları tüketen (consumer) uygulaması geliştirilmiştir. Producer bir json mesajı üretir ve post metodu ile çalışır. Consumer okuduğu mesajı consola bastırır. Consumer ve Producer kodları yazıldıktan sonra ikisi için de Dockerfile oluşturulur.


Git üzerinden git clone yaparak proje çalışılacak olan klasöre klonlanır. Kodlarımız indikten sonra ilk yapmamız gereken Consumer ve Producer a ait Dockerfile ları build etmemiz gerekir. Daha sonra docker compose dosyası ayaklandırılır. Post isteği atılır ve consumer mesajı konsola yazdırır. Aşağıda detaylı açıklanmıştır.

Consumer a ait Image Build Etmek

consumer dizininin içine girilir. Sırasıyla aşağıdaki komutlar çalıştırılır;

go build .
docker build -f Dockerfile -t hatipoglu-consumer .

Producer a ait Image Build Etmek

rest-api dizininin içine girilir. Sırasıyla aşağıdaki komutlar çalıştırılır;

go build .
docker build -f Dockerfile -t hatipoglu-rest-api .

Docker Compose Dosyasını Çalıştırmak

docker-compose.yml dosyasının dizinine yani projenin ana dizine çıkılır. Aşağıdaki komut çalıştırılır;

docker-compose up -d

Postman den aşağıdaki yapıda; http://localhost:3000/ adresine post isteği atıldığında consumer ın konsola atılan mesajı yazdırdığını görürüz.

{
"message" : "How Are You"
}

Download

Apache-Kafka-Golang-Project.zip