Golang连接kafka记录

上代码 一个简单的demo

 

package main

import (
"fmt"
"github.com/IBM/sarama"
)

func main() {

//1.生产者配置
config := sarama.NewConfig()
config.Producer.RequiredAcks = sarama.WaitForAll //ACK
config.Producer.Partitioner = sarama.NewRandomPartitioner //分区
config.Producer.Return.Successes = true //确认

//2.连接Kafka

client, err := sarama.NewSyncProducer([]string{"127.0.0.1:9092"}, config)
if err != nil {
fmt.Println("Producer error", err)
return
}

defer client.Close()

//3.封装消息

msg := &sarama.ProducerMessage{}
msg.Topic = "log"
msg.Value = sarama.StringEncoder("this is test log")

//4.发送消息
pid, offset, err := client.SendMessage(msg)

if err != nil {
fmt.Println("send faild", err)
}
fmt.Printf("pid:%v offset:%v\n", pid, offset)
}

验证结果:
windows下监控
\kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092 --topic log --from-beginning

 



posted @ 2023-07-20 16:59  zzz1an  阅读(94)  评论(0)    收藏  举报