Kafka 10을 사용하여 Go에서 소비자 그룹 오프셋 검색
Kafka 10이 출시되면서 Go Kafka 라이브러리(sarama)는 이제 소비자 그룹 오프셋을 제공합니다. 외부 라이브러리에 의존하지 않고 그룹 기능을 사용할 수 있습니다. 이로 인해 소비자 그룹에서 처리 중인 현재 메시지 오프셋을 검색하는 방법에 대한 의문이 제기됩니다.
해결책
소비자 그룹 오프셋을 얻으려면 다음 단계를 따르세요.
소비자 그룹 정보 구조 구현:
<code class="go">type gcInfo struct { offset int64 }</code>
소비자 그룹 정보 처리기 만들기:
<code class="go">func (g *gcInfo) ConsumeClaim(_ sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error { g.offset = claim.InitialOffset() return nil }</code>
소비자 그룹 구성 및 생성:
<code class="go">config := sarama.NewConfig() config.Consumer.Offsets.AutoCommit.Enable = false client, err := sarama.NewConsumerGroup(strings.Split(brokers, ","), groupName, config)</code>
그룹 내 메시지:
<code class="go">info := gcInfo{} if err := client.Consume(ctx, []string{topic}, &info); err != nil { return 0, err }</code>
오프셋 검색:
<code class="go">return info.offset, nil</code>
이것으로 구현하면 언제든지 특정 파티션 및 주제에 대한 소비자 그룹 오프셋을 검색할 수 있습니다.
위 내용은 Kafka 10을 사용하여 Go에서 소비자 그룹 오프셋을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!