Sobes.tech
Junior — Middle

Z jakiej biblioteki korzystałeś do interakcji z Kafka?

sobes.tech AI

Odpowiedź od AI

Aby nawiązać interakcję z Kafka w języku Go, często używa się biblioteki Shopify/sarama. Jest to popularny i dobrze wspierany klient Kafka dla Go, który zapewnia pełny zestaw funkcji dla producentów i konsumentów.

Przykład prostego producenta z użyciem sarama:

package main

import (
    "log"
    "github.com/Shopify/sarama"
)

func main() {
    producer, err := sarama.NewSyncProducer([]string{"localhost:9092"}, nil)
    if err != nil {
        log.Fatal("Błąd tworzenia producenta", err)
    }
    defer producer.Close()

    msg := &sarama.ProducerMessage{
        Topic: "test_topic",
        Value: sarama.StringEncoder("Witaj Kafka"),
    }

    partition, offset, err := producer.SendMessage(msg)
    if err != nil {
        log.Fatal("Nie udało się wysłać wiadomości", err)
    }

    log.Printf("Wiadomość wysłana do partycji %d na offset %d", partition, offset)
}

Oprócz sarama, istnieją inne biblioteki, np. segmentio/kafka-go, ale sarama jest jedną z najpowszechniejszych.