Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan Offset Kumpulan Pengguna di Golang Kafka 10 menggunakan Sarama?

Bagaimana untuk Mendapatkan Offset Kumpulan Pengguna di Golang Kafka 10 menggunakan Sarama?

DDD
DDDasal
2024-10-25 11:09:02180semak imbas

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

Mengakses Offset Kumpulan Pengguna di Golang Kafka 10

Evolusi perpustakaan Golang Kafka (sarama) dengan Kafka 10 telah memperkenalkan kumpulan pengguna asli kefungsian. Ini menimbulkan persoalan bagaimana untuk mendapatkan semula mesej semasa yang diimbangi yang sedang diproses oleh kumpulan pengguna.

Penyelesaian:

Untuk menangani keperluan ini, perpustakaan sarama menyediakan mekanisme untuk mengakses offset kumpulan pengguna. Coretan kod berikut menunjukkan cara mendapatkan offset menggunakan 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>

Kod ini mencipta kumpulan pengguna dan menyambung kepada broker yang ditentukan. Ia melumpuhkan autokomit untuk memastikan offset tidak dikemas kini semasa proses mendapatkan semula. Struktur gcInfo menjejaki offset awal, yang mewakili offset mesej semasa sedang diproses oleh kumpulan pengguna.

Dengan menggunakan mekanisme ini, pembangun boleh memeriksa dan mengurus offset kumpulan pengguna mereka dengan mudah, membolehkan kawalan yang lebih terperinci ke atas pemprosesan dan penjejakan mesej.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Offset Kumpulan Pengguna di Golang Kafka 10 menggunakan Sarama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn