Sobes.tech
Back to questions
Junior — Middle
86

Какую библиотеку вы применяли для взаимодействия с Kafka?

Companies where asked
kode.ru

Answer from AI

sobes.tech 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("Error creating producer", err)
    }
    defer producer.Close()

    msg := &sarama.ProducerMessage{
        Topic: "test_topic",
        Value: sarama.StringEncoder("Hello Kafka"),
    }

    partition, offset, err := producer.SendMessage(msg)
    if err != nil {
        log.Fatal("Failed to send message", err)
    }

    log.Printf("Message sent to partition %d at offset %d", partition, offset)
}

Кроме sarama, существуют и другие библиотеки, например, segmentio/kafka-go, но sarama является одной из самых распространённых.