Consultez les relations d'abonnement entre les groupes et les topics, suivez la progression de la consommation par partition et vérifiez le nombre de messages accumulés afin d'identifier et de résoudre les problèmes tels que l'accumulation de messages, le déséquilibre ou la limitation du débit.
Remarques
Pour éviter l'accumulation de messages, un groupe de consommateurs ne doit pas s'abonner à plus de trois topics.
Lorsque vous utilisez le mode de consommation
assign, validez rapidement les offsets des consommateurs. Cela empêche que les messages consommés ne soient signalés comme accumulés en raison d'offsets non validés.En cas d'accumulation importante de messages, comparez les taux de consommation et de production. Si le taux de consommation est inférieur au taux de production, augmentez la capacité de consommation.
Consulter les groupes abonnés à un topic
Connectez-vous à la console ApsaraMQ for Kafka. Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Topics.
Sur la page Topics, cliquez sur le Name du topic cible.
-
Sur la page Topic Details, cliquez sur l'onglet Subscriptions.
La liste Online groups that subscribe to the topic affiche tous les groupes en ligne abonnés à ce topic.
-
Dans la liste Online groups that subscribe to the topic, recherchez le groupe cible et cliquez sur Consumer Details dans la colonne Actions.
La liste affiche les détails de consommation pour chaque partition du topic.
Parameter
Description
Partition ID
ID de la partition du topic.
Client
Consommateur en ligne actuellement abonné au topic.
Remarque-
La valeur est au format
<Client ID>_/<IP>. -
Les informations relatives aux clients des consommateurs hors ligne ne sont pas disponibles.
Maximum Offset
Offset maximal du consommateur pour la partition.
Consumer Offset
Offset actuel du consommateur pour la partition.
Messages Accumulated
Nombre de messages accumulés dans la partition, calculé comme suit : Maximum Offset - Consumer Offset.
ImportantLe nombre de messages accumulés est une métrique clé. Une valeur élevée peut indiquer que les consommateurs sont bloqués ou que la consommation est plus lente que la production. Analysez l'état des consommateurs et augmentez la capacité de consommation si nécessaire. Pour plus d'informations, consultez Réinitialiser les offsets des consommateurs.
-
Consulter les topics auxquels un groupe est abonné
Sur la page Instances, cliquez sur le nom de l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Groups.
Sur la page Groups, cliquez sur l'Group ID cible.
-
Sur la page Group Details, cliquez sur l'onglet Consumer Status.
La liste affiche tous les topics auxquels le groupe est abonné, ainsi que le nombre de Messages Accumulated pour chaque topic.
-
Dans la liste Topic, recherchez le topic cible et cliquez sur Consumer Details dans la colonne Actions.
La liste Consumer Details affiche les détails de consommation du groupe pour chaque partition du topic.
Pour les descriptions des paramètres, reportez-vous au tableau ci-dessus.
FAQ
Accumulation de messages avec un consommateur fonctionnel
Le consommateur utilise peut-être le mode de consommation assign, qui nécessite une gestion manuelle des offsets. Les messages peuvent sembler accumulés si l'offset du consommateur n'a pas été validé, même après leur consommation. Pour résoudre ce problème, validez rapidement l'offset du consommateur.
Comment augmenter la capacité de consommation
Vous pouvez augmenter la capacité de consommation de plusieurs façons :
Augmentez le nombre d'instances de consommateurs. Vous pouvez ajouter des instances au sein d'un processus, chacune avec son propre thread, ou déployer plusieurs processus de consommateurs. Si le nombre d'instances de consommateurs dépasse le nombre de partitions, la vitesse de consommation n'augmente pas et certaines instances restent inactives.
Augmentez le nombre de threads de consommation. Pour plus d'informations, consultez Augmenter la vitesse de consommation.
L'accumulation de messages indique-t-elle toujours un problème ?
Pas nécessairement. Tenez compte des scénarios suivants :
La dernière heure de consommation est récente et les messages accumulés fluctuent dans une plage stable sans croissance continue. Ceci est normal et indique que le client extrait activement les derniers messages.
Les messages accumulés augmentent régulièrement tandis que l'offset du consommateur reste inchangé. Cela indique que le thread du consommateur est bloqué, a cessé de traiter les messages et ne valide plus les offsets. Il s'agit d'une anomalie signifiant que les messages se sont véritablement accumulés.
Les messages accumulés augmentent tandis que l'offset du consommateur progresse également. Cela indique que le client consomme toujours des messages, mais que la consommation est plus lente que la production. Augmentez la capacité de consommation.
Pour plus d'informations, consultez Dépannage de l'accumulation de messages dans ApsaraMQ for Kafka.
Documents connexes
Pour interroger l'état des consommateurs via une API, consultez GetConsumerProgress.
Pour ignorer les messages accumulés au lieu de les traiter, réinitialisez les offsets des consommateurs. Pour plus d'informations, consultez Réinitialiser les offsets des consommateurs.