go语言操作kafka
go语言操作kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。本文介绍了如何使用Go语言发送和接收kafka消息。 sarama Go语言中连接kafka使用第三方库: github.com/Shopify/sarama 。 下载及安装 go get github.com/Shopify/sarama 注意事项 sarama v1.20之后的版本加入了 zstd 压缩算法,需要用到cgo,在Windows平台编译时会提示类似如下错误: # github.com/DataDog/zstd exec: "gcc":executable file not found in %PATH% 所以在Windows平台请使用v1.19版本的sarama。 连接kafka发送消息 package main import ( "fmt" "github.com/Shopify/sarama" ) // 基于sarama第三方库开发的kafka client func main() { config := sarama.NewConfig() config.Producer.RequiredAcks = sarama.WaitForAll // 发送完数据需要leader和follow都确认