Sobes.tech
Junior — Middle

რომელი ბიბლიოთეკა გამოიყენეთ Kafka-თან ურთიერთქმედებისთვის?

sobes.tech AI

პასუხი AI-სგან

Go ენისთვის Kafka-სთან ურთიერთობისთვის ხშირად გამოიყენება 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("შეტყობინება გაგზავნილია პარტიციაში %d, ოფსეტში %d", partition, offset)
}

სარამას გარდა, არსებობს სხვა ბიბლიოთეკებიც, მაგალითად segmentio/kafka-go, მაგრამ sarama ერთ-ერთი ყველაზე გავრცელებულია.