Cuando los mensajes se acumulan en un topic de Kafka o el uso del disco aumenta de forma repentina, necesita visibilidad a nivel de partición. Esto le permite identificar qué particiones están afectadas y si los consumidores procesan los datos al ritmo adecuado. El estado de la partición muestra la cantidad de mensajes y el rango de offsets de cada partición dentro de un topic. Así, detecta rápidamente desequilibrios, particiones inactivas y retrasos crecientes en el consumo.
Conceptos
|
Concepto |
Descripción |
|
Partition |
Registro ordenado y de solo anexión dentro de un topic. Cada partición almacena mensajes de forma independiente y admite el consumo en paralelo. |
|
Offset |
Número único e incremental asignado a cada mensaje dentro de una partición que indica su posición. |
|
Minimum offset |
El offset más antiguo disponible en una partición. La política de retención ya eliminó los mensajes anteriores a este valor. |
|
Maximum offset |
El offset más reciente en una partición, que representa el último mensaje escrito. |
|
Consumer lag |
Diferencia entre el maximum offset y el último offset confirmado por un grupo de consumidores. Un retraso grande o creciente indica que los consumidores no procesan los mensajes entrantes con suficiente rapidez. |
Requisitos previos
Antes de empezar, compruebe que cuenta con lo siguiente:
Un topic en su instancia de ApsaraMQ for Kafka. Para obtener más información, consulte Step 3: Create resources
Consultar el estado de las particiones en la consola
Inicie sesión en la consola de ApsaraMQ for Kafka.
En la sección Resource Distribution de la página Overview, seleccione la región donde reside la instancia de ApsaraMQ for Kafka que desea gestionar.
En la página Instances, haga clic en el nombre de la instancia que desea gestionar.
En el panel de navegación izquierdo, haga clic en Topics.
-
En la página Topics, haga clic en el nombre del topic que desea gestionar. En la página Topic Details, haga clic en la pestaña Partition Status.Name
Tabla 1. Parámetros incluidos en el estado de la partición
Parámetro
Descripción
Partition ID
El identificador de la partición.
Minimum Offset
El offset mínimo en la partición.
Maximum Offset
El offset máximo en la partición.
Messages
La cantidad de mensajes en la partición.
Last Updated At
La hora en la que se almacenó el último mensaje de la partición.
-
En la página Topic Details, haga clic en la pestaña Partition Status.
La pestaña muestra a continuación los siguientes parámetros para cada partición:
Parámetro
Descripción
Partition ID
El identificador único de la partición dentro del topic.
Minimum Offset
El offset más antiguo disponible en la partición.
Maximum Offset
El offset más reciente en la partición.
Messages
La cantidad de mensajes almacenados actualmente en la partición. Se calcula como Maximum Offset menos Minimum Offset.
Last Updated At
La marca de tiempo del mensaje más reciente escrito en la partición.
Diagnosticar problemas comunes
Utilice las métricas del estado de las particiones para identificar las causas raíz de la acumulación de mensajes, la carga desigual y los topics inactivos.
Distribución desigual de mensajes
Compare el recuento de Messages entre las distintas particiones. Si algunas contienen muchos más mensajes que otras, es posible que los productores usen una clave de partición que genera una distribución sesgada. Para confirmarlo, compruebe si el código de su productor especifica una clave y si los valores de dicha clave están bien distribuidos.
Para obtener más detalles, consulte Uneven message distribution in topic partitions
Retraso del consumidor
El retraso del consumidor (consumer lag) es la diferencia entre el offset confirmado por un grupo de consumidores y el Maximum Offset de la partición. Para calcularlo:
Consumer lag = Maximum Offset - Consumer's committed offset
Un retraso grande y creciente significa que los consumidores no procesan los mensajes tan rápido como los productores los envían. Las causas más comunes incluyen:
Consumidores finalizados: uno o varios consumidores del grupo se detuvieron, lo que traslada la carga a los restantes.
Rendimiento insuficiente: la lógica de procesamiento del consumidor es demasiado lenta o el grupo tiene muy pocos miembros para la cantidad de particiones.
Para consultar el offset confirmado de cada grupo de consumidores, revise la página Consumer Groups en la consola.
Alto uso de disco
Busque particiones con un recuento alto de Messages. Los volúmenes grandes en varias particiones aumentan la presión sobre el disco del broker. Para reducir el uso:
Acorte el periodo de retención de mensajes del topic.
Escale la instancia para agregar capacidad de almacenamiento.
Particiones inactivas
Si la marca de tiempo de Last Updated At es mucho más antigua de lo esperado, la partición dejó de recibir mensajes. Compruebe que sus productores estén activos y apunten al topic correcto.
Si la columna Last Updated At muestra 1970 o --, consulte Why is 1970 or "--" displayed in the Last Updated At column for topic partitions?
Operaciones relacionadas
Para redistribuir particiones asignadas de forma desigual entre topics que usan almacenamiento en la nube, consulte Rebalance partitions and redirect traffic.