首頁 > 後端開發 > Golang > 主體

如何使用 Kafka 10 檢索 Go 中的消費者群組偏移量?

Barbara Streisand
發布: 2024-10-30 06:17:02
原創
796 人瀏覽過

How to Retrieve Consumer Group Offsets in Go with Kafka 10?

使用Kafka 10 檢索Go 中的消費者群組偏移量

隨著Kafka 10 的發布,Go Kafka 庫(sarama)現在提供消費者無需依賴外部庫即可對功能進行分組。這就提出瞭如何檢索消費者群組正在處理的當前訊息偏移量的問題。

解決方案

要取得消費者群組偏移量,請依照下列步驟操作:

  1. 實現消費者群組資訊結構:

    <code class="go">type gcInfo struct {
        offset int64
    }</code>
    登入後複製
  2. 建立消費者群組資訊處理程序:

    <code class="go">func (g *gcInfo) ConsumeClaim(_ sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
        g.offset = claim.InitialOffset()
        return nil
    }</code>
    登入後複製
  3. 設定並建立消費者群組:

    <code class="go">config := sarama.NewConfig()
    config.Consumer.Offsets.AutoCommit.Enable = false
    client, err := sarama.NewConsumerGroup(strings.Split(brokers, ","), groupName, config)</code>
    登入後複製
  4. 消費群組內訊息:

    <code class="go">info := gcInfo{}
    if err := client.Consume(ctx, []string{topic}, &amp;info); err != nil {
        return 0, err
    }</code>
    登入後複製
  5. 檢索偏移量:

    <code class="go">return info.offset, nil</code>
    登入後複製

以此實現後,您可以在任何給定時間檢索特定分區和主題的消費者組偏移量。

以上是如何使用 Kafka 10 檢索 Go 中的消費者群組偏移量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板