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 είναι μία από τις πιο διαδεδομένες.