Senior
Por que usar segmentio/kafka-go, é uma única biblioteca ou duas? Como funcionam o produtor e o consumidor?
sobes.tech IA
Resposta da IA
segmentio/kafka-go é uma biblioteca em Go para trabalhar com Apache Kafka, desenvolvida pela Segment. Ela fornece uma API fácil e eficiente para produtores e consumidores Kafka.
Produtor em kafka-go envia mensagens para os tópicos Kafka. Gerencia a serialização, particionamento e confirmações de entrega.
Consumidor lê mensagens dos tópicos, suporta a gestão de deslocamentos (offsets), balanceamento de carga entre consumidores e tratamento de erros.
Exemplo de criação de um produtor e envio de uma mensagem:
import (
"context"
"github.com/segmentio/kafka-go"
)
func produce() error {
w := kafka.Writer{
Addr: kafka.TCP("localhost:9092"),
Topic: "example-topic",
Balancer: &kafka.LeastBytes{},
}
defer w.Close()
err := w.WriteMessages(context.Background(),
kafka.Message{
Key: []byte("Key-A"),
Value: []byte("Hello Kafka"),
},
)
return err
}
Portanto, kafka-go é uma biblioteca unificada que cobre os principais cenários de trabalho com Kafka em Go, simplificando a integração e aumentando a confiabilidade.