


Bagaimana untuk Mendapatkan Offset Kumpulan Pengguna di Golang Kafka 10 menggunakan Sarama?
Oct 25, 2024 am 11:09 AMMengakses 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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

GO Language Pack Import: Apakah perbezaan antara garis bawah dan tanpa garis bawah?

Bagaimana saya menulis objek dan stub untuk ujian di GO?

Bagaimana untuk melaksanakan pemindahan maklumat jangka pendek antara halaman dalam kerangka beego?

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya?

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO?

Bagaimana cara menukar senarai hasil pertanyaan mysql ke dalam slice struktur tersuai dalam bahasa Go?

Bagaimana cara menulis fail dalam bahasa Go dengan mudah?

Bagaimanakah saya boleh menggunakan alat linter dan analisis statik untuk meningkatkan kualiti dan pemeliharaan kod pergi saya?
