如何使用Kafka Go客户端的Consumer来回放并查看分区中的先前偏移量

我是卡夫卡的新手.目前我正在从Confluent Inc的
Github回购中试验这个
Channel Consumer example

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

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

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

谢谢

最佳答案 您可以使用CommitOffsets并只返回到要回放的偏移量.下一次轮询将从该偏移量开始.

CommitOffsets在此处记录:
http://docs.confluent.io/current/clients/confluent-kafka-go/index.html#Consumer.CommitOffsets

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

点赞