如何使用Kafka Go客户端消费者

时间:2017-09-02 00:37:52

标签: go apache-kafka kafka-consumer-api

我是卡夫卡的新手。目前我正在使用Confluent Inc的Github回购中的Channel Consumer example进行试验

据我所知,消费者被分成几组。每个组在分区中都有自己的偏移量。我们假设我在特定主题中有40条消息,我们可以将其称为owner_commands。属于狗组的消费者加入并开始消费这40条消息。

当我断开并重新连接此消费者时,我注意到消息不再显示。它说我已经到了文件的末尾。但是,如果我将群集与另一个属于另一个群组的消费者(比如cat)加入群集,我会再次阅读这40封邮件。

您是否知道狗群中的消费者是否有办法使用Kafka的Go API重新回放并重播这些消息。我查看了Kafka Golang API的源代码,我找不到任何能告诉我我可以在过去回放并查看特定消息的内容。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用CommitOffsets并只返回要回放的偏移量。下一次轮询将从该偏移量开始。

这里记录了CommitOffsets: http://docs.confluent.io/current/clients/confluent-kafka-go/index.html#Consumer.CommitOffsets

在API之外,kafka-consumer-groups命令中的功能也可以移动消费者组的位置。这是与Apache Kafka 0.11一起发布的。