Sobes.tech
Junior — Middle

Ποια βιβλιοθήκη χρησιμοποιήσατε για την αλληλεπίδραση με το Kafka;

sobes.tech AI

Απάντηση από AI

Για αλληλεπίδραση με το Kafka στη γλώσσα Go, συχνά χρησιμοποιείται η βιβλιοθήκη Shopify/sarama. Είναι ένας δημοφιλής και καλά υποστηριζόμενος πελάτης Kafka για το Go, που παρέχει ένα πλήρες σύνολο λειτουργιών για παραγωγούς και καταναλωτές.

Παράδειγμα ενός απλού παραγωγού με τη χρήση της sarama:

package main

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

func main() {
    producer, err := sarama.NewSyncProducer([]string{"localhost:9092"}, nil)
    if err != nil {
        log.Fatal("Σφάλμα κατά τη δημιουργία παραγωγού", err)
    }
    defer producer.Close()

    msg := &sarama.ProducerMessage{
        Topic: "test_topic",
        Value: sarama.StringEncoder("Γειά Kafka"),
    }

    partition, offset, err := producer.SendMessage(msg)
    if err != nil {
        log.Fatal("Αποτυχία αποστολής μηνύματος", err)
    }

    log.Printf("Μήνυμα αποστάλθηκε στην partition %d στο offset %d", partition, offset)
}

Εκτός από τη sarama, υπάρχουν και άλλες βιβλιοθήκες, όπως η segmentio/kafka-go, αλλά η sarama είναι μία από τις πιο διαδεδομένες.