Go语言操作Kafka
本文档详细介绍了如何使用Go语言对Kafka进行基础操作。我们将介绍如何使用Go连接Kafka、生产消息、消费消息。以下是详细操作步骤:
1. 安装驱动
首先,使用以下命令安装Sarama,一个优秀的Kafka Go客户端库:
go get github.com/Shopify/sarama
2. 导入依赖
导入必要的依赖包:
import (
"fmt"
"github.com/Shopify/sarama"
"log"
"os"
"os/signal"
"strings"
"sync"
"time"
)
3. 生产者(Producer)
创建一个函数,用于连接并返回一个Kafka生产者:
func createProducer(brokers []string) (sarama.AsyncProducer, error) {
config := sarama.NewConfig()
config.Producer.Return.Successes = true
config.Producer.Timeout = 5 * time.Second
return sarama.NewAsyncProducer(brokers, config)
}
创建一个函数,用于发送消息到指定的Kafka主题:
func produceMessage(producer sarama.AsyncProducer, topic, value string) {
message := &sarama.ProducerMessage{
Topic: topic,
Value: sarama.StringEncoder(value),
}
producer.Input(