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 е една от най-разпространените.