Sarama を使用して Golang Kafka 10 でコンシューマ グループ オフセットを取得する方法

DDD
リリース: 2024-10-25 11:09:02
オリジナル
189 人が閲覧しました

How to Retrieve Consumer Group Offsets in Golang Kafka 10 using Sarama?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!