2016-11-16 334 views
2

既然Golang Kafka庫(sarama)提供的消費者組功能沒有任何外部庫的幫助,那麼kafka 10.我如何獲得消費者正在處理的當前消息偏移量在任何特定時間組?如何獲取Golang Kafka中的分區的消費者組偏移量10

此前我使用kazoo-go(https://github.com/wvanbergen/kazoo-go)來獲取我的消費者羣消息的偏移量,因爲它存儲在Zookeeper中。現在我使用sarama-cluster(https://github.com/bsm/sarama-cluster),我不確定使用哪個API來獲取消費者組消息抵消。

回答

1

我也在與Sarama和Kafka合作來獲得一個主題的抵消。

您可以使用以下代碼獲得偏移量。

package main 

    import (
    "gopkg.in/Shopify/sarama" 
    "fmt" 
    ) 

    func main(){ 
     client , err := sarama.Client([]string{"localhost:9092"},nil) // I am not giving any configuration 
     if err != nil { 
      panic(err) 
     } 
     lastoffset, err := client.GetOffset("topic-test",0,sarama.OffsetNewest) 
     if err != nil { 
      panic(err) 
     } 
     fmt.Println("Last Commited Offset ",lastoffset) 
    } 

讓我知道這是你要找的答案,如果它是有幫助的。

+0

This Works。我認爲我的Kafka集羣端出現了問題,導致此API調用沒有返回任何數據。現在工作。 – tazo

+0

這是否會返回分區產生的最後一條消息的偏移量,或消費者爲分區標記並提交的最後一條消息的偏移量? –

+2

@LorenzoBelli該代碼返回分區產生的最新偏移量,而不是消費者提交的偏移量 –

相關問題