Maison > développement back-end > Golang > le corps du texte

Comment récupérer les compensations de groupes de consommateurs dans Go avec Kafka 10 ?

Barbara Streisand
Libérer: 2024-10-30 06:17:02
original
807 Les gens l'ont consulté

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

Récupération des compensations de groupes de consommateurs dans Go avec Kafka 10

Avec la sortie de Kafka 10, la bibliothèque Go Kafka (sarama) fournit désormais aux consommateurs capacités de groupe sans recourir à des bibliothèques externes. Cela soulève la question de savoir comment récupérer le décalage du message en cours de traitement par un groupe de consommateurs.

Solution

Pour obtenir le décalage du groupe de consommateurs, suivez ces étapes :

  1. Implémenter une structure d'informations de groupe de consommateurs :

    <code class="go">type gcInfo struct {
        offset int64
    }</code>
    Copier après la connexion
  2. Créer un gestionnaire d'informations de groupe de consommateurs :

    <code class="go">func (g *gcInfo) ConsumeClaim(_ sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
        g.offset = claim.InitialOffset()
        return nil
    }</code>
    Copier après la connexion
  3. Configurer et créer le groupe de consommateurs :

    <code class="go">config := sarama.NewConfig()
    config.Consumer.Offsets.AutoCommit.Enable = false
    client, err := sarama.NewConsumerGroup(strings.Split(brokers, ","), groupName, config)</code>
    Copier après la connexion
  4. Consommer un Message Au sein du groupe :

    <code class="go">info := gcInfo{}
    if err := client.Consume(ctx, []string{topic}, &amp;info); err != nil {
        return 0, err
    }</code>
    Copier après la connexion
  5. Récupérer le décalage :

    <code class="go">return info.offset, nil</code>
    Copier après la connexion

Avec ceci implémentation, vous pouvez récupérer le décalage du groupe de consommateurs pour une partition et un sujet spécifiques à tout moment.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal