如何使用Kafka Go client'回放和查看分区中的上一个偏移量;消费者

如何使用Kafka Go client'回放和查看分区中的上一个偏移量;消费者,go,apache-kafka,kafka-consumer-api,Go,Apache Kafka,Kafka Consumer Api,我是卡夫卡的新手。目前,我正在Confluent Inc.的Github回购协议中对此进行试验 据我所知,消费者被分成不同的群体。每个组在分区中都有自己的偏移量。假设我在一个特定主题中有40条消息,我们称之为owner\u命令。属于狗群的消费者加入并开始消费这40条消息 当我断开并重新连接此消费者时,我注意到消息不再显示。上面说我已经到了文件的末尾。但是,如果我与另一个属于不同组(比如cat)的消费者一起加入集群,我可以再次阅读这40条消息 你知道狗群中的消费者是否有办法使用Kafka的Go A

我是卡夫卡的新手。目前,我正在Confluent Inc.的Github回购协议中对此进行试验

据我所知,消费者被分成不同的群体。每个组在分区中都有自己的偏移量。假设我在一个特定主题中有40条消息,我们称之为owner\u命令。属于狗群的消费者加入并开始消费这40条消息

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

你知道狗群中的消费者是否有办法使用Kafka的Go API再次回放这些消息。我查看了Kafka Golang API的源代码,找不到任何东西表明我可以回放并查看过去的特定消息


谢谢您

您可以使用CommitOffsets,只需将其提交回要回放的偏移量即可。下一次轮询将从该偏移量开始

此处记录了委托集:


在API之外,kafka consumer groups命令中还提供了移动用户组位置的功能。这是与Apache Kafka 0.11一起发布的。

您可能需要检查哪一个是Kafka的流行库-它允许您指定要从中读取的特定偏移量,或接受“最旧”作为起点,或“最新”谢谢您的回答,现在我对Kafka的工作方式有了更好的理解。我刚刚意识到我必须将enable.auto.commit设置为false才能使其工作。使用我的上一个示例,对于我的狗组,我对owner_命令[0]@0执行提交,当我断开消费者连接并重新连接它时,从[0]@0到最近的消息的所有消息都会被重放!!!但是,我想了解更多有关移动consumer group位置的命令的信息。为什么它在API之外?如何访问它?kafka consumer groups命令由shell脚本执行,并随kafka包一起提供。您可以在bin目录中找到它。它更像是一个代理端操作,因此它不在API中。它实际上使用Java消费者API来做它的事情。有没有一种方法可以使用API来做与kafka消费者组命令等效的事情?我正在开发一个kafka库,多个客户端将调用该库,我们希望他们能够将其偏移量重置为特定主题和组的最早偏移量。是的,如果需要从消费者外部执行此操作,您可以点击代理上的kafka管理API。