Junior — Middle
Kafka bilan muloqot qilish uchun qaysi kutubxonadan foydalaningiz?
sobes.tech AI
AIdan javob
Go tilida Kafka bilan o'zaro aloqada bo'lish uchun ko'pincha Shopify/sarama kutubxonasi ishlatiladi. Bu Go uchun mashhur va yaxshi qo'llab-quvvatlanadigan Kafka mijozidir, u ishlab chiqaruvchilar va iste'molchilar uchun to'liq funktsiyalar to'plamini taqdim etadi.
Sarama yordamida oddiy ishlab chiqaruvchining misoli:
package main
import (
"log"
"github.com/Shopify/sarama"
)
func main() {
producer, err := sarama.NewSyncProducer([]string{"localhost:9092"}, nil)
if err != nil {
log.Fatal("Ishlab chiqaruvchini yaratishda xato", err)
}
defer producer.Close()
msg := &sarama.ProducerMessage{
Topic: "test_topic",
Value: sarama.StringEncoder("Salom Kafka"),
}
partition, offset, err := producer.SendMessage(msg)
if err != nil {
log.Fatal("Xabarni yuborishda xato", err)
}
log.Printf("Xabar %d partitionga, %d offsetga yuborildi", partition, offset)
}
Sarama’dan tashqari, segmentio/kafka-go kabi boshqa kutubxonalar ham mavjud, ammo sarama eng keng tarqalganlardan biridir.