Lorsque des messages s'accumulent dans une rubrique Kafka ou que l'utilisation du disque augmente brusquement, une visibilité au niveau des partitions est nécessaire pour identifier celles qui sont affectées et vérifier si les consommateurs parviennent à suivre le rythme. L'état des partitions expose le nombre de messages et la plage d'offsets pour chaque partition d'une rubrique, ce qui permet d'identifier rapidement les déséquilibres, les partitions inactives et l'augmentation du décalage de consommation (consumer lag).
Concepts
| Concept | Description |
|---|---|
| Partition | Journal ordonné et en ajout seul (append-only) au sein d'une rubrique. Chaque partition stocke les messages indépendamment et prend en charge la consommation parallèle. |
| Offset | Numéro unique et incrémental attribué à chaque message dans une partition, indiquant sa position. |
| Offset minimum | Le plus ancien offset disponible dans une partition. Les messages antérieurs à cet offset ont été supprimés par la politique de rétention. |
| Offset maximum | Le dernier offset d'une partition, représentant le message écrit le plus récemment. |
| Décalage de consommation (Consumer lag) | La différence entre l'offset maximum et le dernier offset validé par un groupe de consommateurs. Un décalage important ou croissant signifie que les consommateurs ne parviennent pas à traiter les messages entrants assez rapidement. |
Prérequis
Avant de commencer, assurez-vous d'avoir :
Une rubrique dans votre instance ApsaraMQ for Kafka. Pour plus d'informations, consultez Étape 3 : Créer des ressources
Afficher l'état des partitions dans la console
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 de la rubrique cible pour ouvrir la page Topic Details, puis cliquez sur l'onglet Partition Status.
Tableau 1. Informations sur l'état des partitions
Parameter
Description
Partition ID
L'ID de la partition de la rubrique.
Earliest Offset
Le premier offset de consommateur de la rubrique dans la partition actuelle.
Latest Offset
Le dernier offset de consommateur de la rubrique dans la partition actuelle.
Partition Messages
Le nombre total de messages de la rubrique dans la partition actuelle.
Last Updated At
L'heure à laquelle le dernier message de cette partition a été stocké.

-
Sur la page Topic Details, cliquez sur l'onglet Partition Status.
Cet onglet affiche les paramètres suivants pour chaque partition :
Parameter Description Partition ID L'identifiant unique de la partition au sein de la rubrique. Minimum Offset Le plus ancien offset disponible dans la partition. Maximum Offset Le dernier offset de la partition. Messages Le nombre de messages actuellement stockés dans la partition. Calculé comme Maximum Offset moins Minimum Offset. Last Updated At L'horodatage du message le plus récent écrit dans la partition. 
Diagnostiquer les problèmes courants
Utilisez les métriques d'état des partitions pour identifier les causes profondes de l'accumulation de messages, de la charge inégale et des rubriques obsolètes.
Distribution inégale des messages
Comparez le nombre de Messages entre les partitions. Si certaines partitions contiennent nettement plus de messages que d'autres, il est possible que les producteurs utilisent une clé de partition entraînant une distribution asymétrique. Pour confirmer cette hypothèse, vérifiez si votre code producteur spécifie une clé et si les valeurs de clé sont bien réparties.
Pour plus de détails, consultez Pourquoi les messages sont-ils répartis de manière inégale entre les partitions ?
Décalage de consommation (Consumer lag)
Le décalage de consommation correspond à l'écart entre l'offset validé par un groupe de consommateurs et l'Maximum Offset de la partition. Pour calculer le décalage :
Consumer lag = Maximum Offset - Consumer's committed offset
Un décalage important et croissant signifie que les consommateurs ne parviennent pas à traiter les messages aussi vite que les producteurs les envoient. Les causes courantes incluent :
Consommateurs arrêtés : un ou plusieurs consommateurs du groupe se sont arrêtés, transférant la charge aux consommateurs restants.
Débit insuffisant : la logique de traitement des consommateurs est trop lente ou le groupe de consommateurs compte trop peu de membres par rapport au nombre de partitions.
Pour afficher l'offset validé pour chaque groupe de consommateurs, consultez la page Consumer Groups dans la console.
Utilisation élevée du disque
Recherchez les partitions présentant un nombre élevé de Messages. Des volumes importants sur plusieurs partitions augmentent la pression sur le disque du broker. Pour réduire l'utilisation :
Réduisez la période de rétention des messages pour la rubrique.
Mettez à l'échelle votre instance pour ajouter de la capacité de stockage.
Partitions inactives
Si l'horodatage Last Updated At est nettement plus ancien que prévu, la partition ne reçoit plus de messages. Vérifiez que vos producteurs sont actifs et ciblent la bonne rubrique.
Si la colonne Last Updated At affiche 1970 ou --, consultez Pourquoi 1970 ou « -- » s'affiche-t-il dans la colonne Last Updated At pour les partitions d'une rubrique ?
Opérations connexes
Pour redistribuer les partitions allouées de manière inégale entre les rubriques qui utilisent le stockage cloud, consultez Équilibrage des partitions et redirection du trafic.