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)
}

Բացի sarama-ից, կան նաև այլ գրադարաններ, օրինակ՝ segmentio/kafka-go, բայց sarama-ն ամենատարածվածներից է։