Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:Consumer progress synchronization

Dernière mise à jour :Aug 09, 2026

Lors de la réplication interrégions, les groupes de consommateurs des instances source et destination traitent les messages à des vitesses différentes. En cas de basculement, les consommateurs qui se reconnectent à l'instance destination doivent reprendre le traitement au bon offset pour éviter de retraiter un grand volume de messages. La synchronisation de la progression des consommateurs dans Global Replicator aligne les offsets validés entre vos instances ApsaraMQ for RocketMQ source et destination, afin que les consommateurs reprennent exactement là où ils s'étaient arrêtés après un basculement.

Fonctionnement

Global Replicator vérifie périodiquement les offsets validés de chaque groupe de consommateurs sur l'instance source et les réplique vers le groupe de consommateurs correspondant sur l'instance destination. La synchronisation s'applique uniquement aux groupes de consommateurs qui remplissent les deux conditions suivantes :

  • Le groupe existe sur les instances source et destination avec le même nom.

  • Le groupe est abonné aux mêmes topics sur les deux instances.

La réplication de la progression est asynchrone ; un décalage de quelques minutes peut donc survenir entre le moment où un consommateur valide un offset sur l'instance source et celui où cet offset apparaît sur l'instance destination. Après un basculement, certains messages peuvent être consommés à nouveau. Concevez vos consommateurs pour gérer les doublons de manière idempotente — par exemple, dédupliquez les messages en vous basant sur l'ID du message ou une clé métier unique avant d'appliquer tout effet secondaire.

Synchronisation unidirectionnelle ou bidirectionnelle

Dimension Synchronisation unidirectionnelle Synchronisation bidirectionnelle
Direction Uniquement de la source vers la destination Commutable entre source-vers-destination et destination-vers-source
Synchronisation automatique Prise en charge. Synchronise toutes les 10 secondes pour tous les mappages de topics. Non prise en charge. Synchronisation manuelle uniquement.
Condition de synchronisation La synchronisation automatique nécessite que le groupe de consommateurs destination soit en ligne. La synchronisation manuelle fonctionne indépendamment de cet état. La synchronisation manuelle de la destination vers la source exige que les deux groupes consomment activement et que la progression du groupe source soit inférieure à celle du groupe destination.

Configurer la synchronisation unidirectionnelle de la progression des consommateurs

Avant de commencer, assurez-vous d'avoir configuré une tâche de synchronisation Global Replicator, avec des groupes de consommateurs portant le même nom et abonnés aux mêmes topics déployés sur les instances source et destination.

La synchronisation unidirectionnelle prend en charge les modes de synchronisation automatique et manuel :

  • Synchronisation automatique : après avoir activé Automatically Update Consumer Progress, le système synchronise la progression des consommateurs toutes les 10 secondes pour tous les mappages de topics entre les instances source et destination. La synchronisation automatique ignore les groupes de consommateurs hors ligne sur l'instance destination.

  • Synchronisation manuelle : fonctionne que le groupe de consommateurs destination soit en ligne ou hors ligne.

Lorsque vous activez Consumer Progress Synchronization pour la première fois, l'option Automatically Update Consumer Progress est activée par défaut.

Pour configurer la synchronisation unidirectionnelle de la progression des consommateurs :

  1. Connectez-vous à la console ApsaraMQ for RocketMQ.

  2. Dans la barre de navigation supérieure, sélectionnez la région où réside votre tâche de synchronisation, par exemple China (Hangzhou).

  3. Dans le volet de navigation de gauche, cliquez sur Global Replicator. Recherchez la tâche que vous souhaitez configurer.

  4. Sur la page Basic Task Information, cliquez sur Consumer Progress Synchronization dans le volet de navigation de gauche.

  5. Activez Consumer Progress Synchronization.

  6. Choisissez une méthode de synchronisation :

    • Synchronisation automatique : activez Automatically Update Consumer Progress.

    • Synchronisation manuelle : désactivez Automatically Update Consumer Progress, puis cliquez sur Quick Synchronization. Dans la boîte de dialogue de confirmation, cliquez sur OK.

Configurer la synchronisation bidirectionnelle de la progression des consommateurs

La synchronisation bidirectionnelle prend uniquement en charge la synchronisation manuelle. Utilisez la synchronisation manuelle en cas d'exception métier afin de réduire la consommation de messages en double.

Pour synchroniser la progression de la destination vers la source, les deux conditions suivantes doivent être remplies :

  • Les groupes de consommateurs source et destination consomment activement des messages.

  • La progression du groupe de consommateurs source est inférieure à celle du groupe de consommateurs destination.

Pour configurer la synchronisation bidirectionnelle de la progression des consommateurs :

  1. Connectez-vous à la console ApsaraMQ for RocketMQ.

  2. Dans la barre de navigation supérieure, sélectionnez la région où réside votre tâche de synchronisation, par exemple China (Hangzhou).

  3. Dans le volet de navigation de gauche, cliquez sur Global Replicator. Recherchez la tâche que vous souhaitez configurer.

  4. Sur la page Basic Task Information, cliquez sur Consumer Progress Synchronization dans le volet de navigation de gauche.

  5. Activez Consumer Progress Synchronization.

  6. (Facultatif) Pour modifier la direction de synchronisation, cliquez sur Switch Synchronization Direction. Dans la boîte de dialogue de confirmation, cliquez sur OK.

  7. Cliquez sur Quick Synchronization. Dans la boîte de dialogue de confirmation, cliquez sur OK.

FAQ

Pourquoi certains groupes de consommateurs ne sont-ils pas synchronisés ?

Seuls les groupes de consommateurs partageant le même nom et abonnés aux mêmes topics sur les instances source et destination sont éligibles à la synchronisation. Vérifiez que le nom du groupe et les abonnements aux topics correspondent exactement sur les deux instances.

Pour les tâches unidirectionnelles avec synchronisation automatique activée, vérifiez également si le groupe de consommateurs sur l'instance destination est en ligne. La synchronisation automatique ignore les groupes hors ligne.

Comment gérer les messages en double après un basculement ?

La synchronisation de la progression des consommateurs présente un délai inhérent de quelques minutes. Après un basculement, les consommateurs peuvent retraiter des messages déjà consommés sur l'instance source. Dédupliquez les messages en vous basant sur l'ID du message ou une clé métier unique avant d'appliquer tout effet secondaire.