Sobes.tech
Junior — Middle

Milyen könyvtárat használtál a Kafka-val való interakcióhoz?

sobes.tech MI

Válasz az MI-től

A Go nyelven történő Kafka-val való interakcióhoz gyakran használják a Shopify/sarama könyvtárat. Ez egy népszerű és jól támogatott Kafka kliens Go-hoz, amely teljes körű funkciókészletet nyújt producerek és fogyasztók számára.

Egyszerű producer példája sarama használatával:

package main

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

func main() {
    producer, err := sarama.NewSyncProducer([]string{"localhost:9092"}, nil)
    if err != nil {
        log.Fatal("Hiba a producer létrehozásakor", err)
    }
    defer producer.Close()

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

    partition, offset, err := producer.SendMessage(msg)
    if err != nil {
        log.Fatal("Hiba az üzenet küldésekor", err)
    }

    log.Printf("Üzenet küldve a %d partitionba, offset: %d", partition, offset)
}

A sarama mellett léteznek más könyvtárak is, például a segmentio/kafka-go, de a sarama az egyik legelterjedtebb.