用golang实现kafka接收消息
时间: 2023-03-31 15:05:01 浏览: 123
可以使用 sarama 库来实现 Kafka 消息的接收,具体实现可以参考以下代码:
```go
package main
import (
"fmt"
"github.com/Shopify/sarama"
)
func main() {
config := sarama.NewConfig()
config.Consumer.Return.Errors = true
consumer, err := sarama.NewConsumer([]string{"localhost:9092"}, config)
if err != nil {
panic(err)
}
defer func() {
if err := consumer.Close(); err != nil {
panic(err)
}
}()
partitionConsumer, err := consumer.ConsumePartition("test-topic", , sarama.OffsetNewest)
if err != nil {
panic(err)
}
defer func() {
if err := partitionConsumer.Close(); err != nil {
panic(err)
}
}()
for {
select {
case msg := <-partitionConsumer.Messages():
fmt.Printf("Received message: %s\n", string(msg.Value))
case err := <-partitionConsumer.Errors():
fmt.Printf("Error: %s\n", err.Error())
}
}
}
```
以上代码使用 sarama 库创建了一个 Kafka 消费者,然后订阅了名为 "test-topic" 的主题,并从最新的偏移量开始消费消息。在消息到达时,会打印出消息的内容。
阅读全文