訪問Golang Kafka 10 中的消費者群組偏移
Golang Kafka 庫(sarama)與Kafka 10 的演變引入了本機消費者組功能。這就提出瞭如何檢索消費者群組正在處理的當前訊息偏移量的問題。
解決方案:
為了解決這個需求,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中文網其他相關文章!