Golang Kafka 10 でのコンシューマ グループ オフセットへのアクセス
Kafka 10 による Golang Kafka ライブラリ (sarama) の進化により、ネイティブ コンシューマ グループが導入されました機能性。これにより、コンシューマ グループによって処理されている現在のメッセージ オフセットを取得する方法が問題になります。
解決策:
このニーズに対処するために、sarama ライブラリはメカニズムを提供します。コンシューマ グループ オフセットにアクセスするため。次のコード スニペットは、GetCGOffset() を使用してオフセットを取得する方法を示しています。
<code class="go">import ( "context" "fmt" "strings" "github.com/Shopify/sarama" ) func GetCGOffset(ctx context.Context, brokers, groupName, topic string) (int64, error) { config := sarama.NewConfig() config.Consumer.Offsets.AutoCommit.Enable = false client, err := sarama.NewConsumerGroup(strings.Split(brokers, ","), groupName, config) if err != nil { return 0, err } defer client.Close() info := gcInfo{} if err := client.Consume(ctx, []string{topic}, &info); err != nil { return 0, err } return info.offset, nil }</code>
このコードは、コンシューマ グループを作成し、指定されたブローカーに接続します。自動コミットを無効にして、取得プロセス中にオフセットが更新されないようにします。 gcInfo 構造体は、コンシューマ グループによって処理されている現在のメッセージ オフセットを表す初期オフセットを追跡します。
このメカニズムを使用すると、開発者はコンシューマ グループのオフセットを簡単に検査および管理でき、より詳細な制御が可能になります。メッセージの処理と追跡。
以上がSarama を使用して Golang Kafka 10 でコンシューマ グループ オフセットを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。