2016-11-16 19 views
2

Golang Kafkaライブラリ(sarama)は、kafkaの外部ライブラリヘルプなしでコンシューマグループの機能を提供しました。10.消費者が処理している現在のメッセージオフセットを取得する方法いつでもグループに参加できますか?Golang Kafkaのパーティションのコンシューマグループのオフセットを取得する方法10

以前私はZookeeperに保存されているコンシューマグループのメッセージオフセットを取得するためにkazoo-go(https://github.com/wvanbergen/kazoo-go)を使用しました。今私は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

これは機能します。カフカクラスター側に問題があり、このAPI呼び出しのデータが返されなかったと考えました。今すぐ動作します。 – tazo

+0

これは、パーティションに対して最後に生成されたメッセージのオフセット、またはコンシューマによってパーティションにマークされコミットされた最後のメッセージのオフセットを返しますか? –

+2

@LorenzoBelliこのコードは、パーティションに対して生成された最新のオフセットを返します。コンシューマによってコミットされていません。 –

関連する問題