Quando as mensagens se acumulam em um tópico do Kafka ou o uso do disco aumenta abruptamente, você precisa de visibilidade no nível da partição para identificar quais partições são afetadas e se os consumidores estão acompanhando o fluxo. O status da partição exibe a contagem de mensagens e o intervalo de offset para cada partição em um tópico, permitindo identificar rapidamente desequilíbrios, partições inativas e o aumento do atraso de consumo.
Conceitos
|
Conceito |
Descrição |
|
Partição |
Um log ordenado e de somente adição dentro de um tópico. Cada partição armazena mensagens de forma independente e oferece suporte ao consumo paralelo. |
|
Offset |
Um número incremental e único atribuído a cada mensagem em uma partição, indicando sua posição. |
|
Offset mínimo |
O offset disponível mais antigo em uma partição. As mensagens anteriores a esse offset foram removidas pela política de retenção. |
|
Offset máximo |
O offset mais recente em uma partição, representando a mensagem gravada mais recentemente. |
|
Atraso de consumo |
A diferença entre o offset máximo e o último offset confirmado de um grupo de consumidores. Um atraso grande ou crescente significa que os consumidores não conseguem acompanhar o fluxo de mensagens recebidas. |
Pré-requisitos
Antes de começar, certifique-se de ter:
Um tópico em sua instância do ApsaraMQ for Kafka. Para mais informações, consulte Etapa 3: crie recursos
Visualize o status da partição no console
Acesse o console do ApsaraMQ for Kafka.
Na seção Resource Distribution da página Overview, selecione a região em que está a instância do ApsaraMQ for Kafka e gerencie a instância.
Na página Instances, clique em nome da instância e gerencie a instância.
No painel de navegação à esquerda, clique em Topics.
-
Na página Topics, clique em nome do tópico e gerencie o tópico. Na página Topic Details, clique em aba Partition Status.Name
Tabela 1. Parâmetros incluídos no status da partição
Parâmetro
Descrição
Partition id
O id da partição.
Minimum Offset
O offset mínimo na partição.
Maximum Offset
O offset máximo na partição.
Messages
O número de mensagens na partição.
Last Updated At
A data e hora em que a última mensagem na partição foi armazenada.
-
Na página Topic Details, clique em aba Partition Status.
A aba exibe os seguintes parâmetros para cada partição:
Parâmetro
Descrição
Partition ID
O identificador único da partição dentro do tópico.
Minimum Offset
O offset disponível mais antigo na partição.
Maximum Offset
O offset mais recente na partição.
Messages
O número de mensagens atualmente armazenadas na partição. Calculado como Maximum Offset menos Minimum Offset.
Last Updated At
A data e hora da mensagem mais recente gravada na partição.
Diagnosticar problemas comuns
Use as métricas de status da partição para identificar a causa raiz do acúmulo de mensagens, da carga desequilibrada e dos tópicos inativos.
Distribuição desigual de mensagens
Compare a contagem de Messages entre as partições. Se algumas partições armazenarem significativamente mais mensagens que outras, os produtores podem estar usando uma chave de partição que causa uma distribuição desequilibrada. Verifique se o código do produtor especifica uma chave e se os valores dessa chave estão bem distribuídos, e confirme a distribuição.
Para mais detalhes, consulte Uneven message distribution in topic partitions
Atraso de consumo
O atraso de consumo é a diferença entre o offset confirmado de um grupo de consumidores e o Maximum Offset da partição. Para calcular o atraso:
Consumer lag = Maximum Offset - Consumer's committed offset
Um atraso grande e crescente significa que os consumidores não conseguem processar mensagens na mesma velocidade em que os produtores as enviam. As causas comuns incluem:
Consumidores encerrados: Um ou mais consumidores no grupo pararam de funcionar, transferindo a carga para os demais.
Throughput insuficiente: A lógica de processamento do consumidor é muito lenta ou o grupo de consumidores tem poucos membros para a quantidade de partições.
visualize o offset confirmado de cada grupo de consumidores na página Consumer Groups no console.
Alto uso de disco
Procure partições com uma alta contagem de Messages. Grandes volumes em várias partições aumentam a carga sobre o disco do broker. Para reduzir o uso:
Reduza o período de retenção de mensagens do tópico.
Dimensione a instância para adicionar capacidade de armazenamento.
Partições inativas
Se a data e hora em Last Updated At for significativamente mais antiga que o esperado, a partição não está mais recebendo mensagens. Verifique se os produtores estão ativos e enviando mensagens para o tópico correto.
Se a coluna Last Updated At exibir 1970 ou --, consulte Why is 1970 or "--" displayed in the Last Updated At column for topic partitions?
Operações relacionadas
Para redistribuir partições alocadas de forma desigual entre tópicos que usam cloud storage, consulte Rebalance partitions and redirect traffic.