繁体   English   中英

Golang segmentio / kafka-go消费者无法正常工作

[英]Golang segmentio/kafka-go consumer not working

我正在使用segmentio / kafka-go连接到Kafka。

// to produce messages
topic := "my-topic"
partition := 0

conn, _ := kafka.DialLeader(context.Background(), "tcp", "localhost:9092", topic, partition)

conn.SetWriteDeadline(time.Now().Add(10*time.Second))
conn.WriteMessages(
    kafka.Message{Value: []byte("one!")},
    kafka.Message{Value: []byte("two!")},
    kafka.Message{Value: []byte("three!")},
)

conn.Close()

我可以使用此代码将其制作到我的Kafka服务器中。

// to consume messages
topic := "my-topic"
partition := 0

conn, _ := kafka.DialLeader(context.Background(), "tcp", "localhost:9092", topic, partition)

conn.SetReadDeadline(time.Now().Add(10*time.Second))
batch := conn.ReadBatch(10e3, 1e6) // fetch 10KB min, 1MB max

b := make([]byte, 10e3) // 10KB max per message
for {
    _, err := batch.Read(b)
    if err != nil {
        // err -> "invalid codec"
        break
    }
    fmt.Println(string(b))
}

batch.Close()
conn.Close()

但是我无法使用上面的代码。 我收到错误invalid codec 可能是什么原因?

在相关情况下,我将最小批处理量调整为1,以便尝试消耗一些东西。

只是一个猜测:尝试添加导入以加载压缩编解码器,以防您的主题使用压缩。

导入_“ github.com/segmentio/kafka-go/snappy”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM