es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Kafka Ktable joins Internal topic LAG got increase: La unión de KTable de Kafka incrementó el retraso del tema interno.

Tengo una aplicación de Kafka Streams versión 2.5.1 (kafka spring) y conectores CDC que continuamente producen datos en el tema. Tengo un total de 14 temas que se unen a los datos como se muestra a continuación y producen el resultado en el tema final.

ktable1.join(ktable2).leftJoin(ktable3).leftJoin(ktable4).to(finalTopic)

Cuando aumenta la carga en el tema de Kafka, esto provoca un aumento en el LAG en el LAG interno del tema y terminamos con un retraso en el rendimiento.

¿Alguien sabe por qué aumenta el LAG interno de Kafka?

  • Cantidad de temas = 14
  • Cantidad de particiones = 16*14 = 224
  • Total de brokers = 6
  • Factor de réplica = 2
  • Número de instancias de la aplicación = 2
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede haber varias razones por las cuales el retraso interno en Kafka aumenta cuando hay un incremento en la carga del tema. Algunas posibles explicaciones podrían ser:

    • Restricciones de recursos: Si los brokers o consumidores tienen restricciones de recursos cuando la carga aumenta, esto puede causar retrasos en el procesamiento de mensajes y aumentar el retraso.
    • Congestión de la red: Si hay congestión en la red, puede ralentizar la entrega y el procesamiento de mensajes, lo que lleva a un aumento en el retraso.
    • Reequilibrio del grupo de consumidores: Si se agregan o eliminan instancias de consumidores dinámicamente del grupo de consumidores, esto puede causar un reequilibrio, lo que lleva a un aumento en el retraso.
    • Procesamiento lento: Si la lógica de procesamiento en la aplicación Kafka Streams es lenta o requiere mucha memoria, puede causar retrasos en el procesamiento de mensajes y aumentar el retraso.

    Para diagnosticar la causa específica del aumento en el retraso en esta situación, sería útil recopilar más información, como:

    • Métricas de monitoreo para brokers, consumidores y grupos de consumidores para identificar restricciones de recursos o problemas de red.
    • Perfilado y evaluación del rendimiento de la aplicación Kafka Streams para identificar posibles cuellos de botella de rendimiento.
    • Observar los registros de reequilibrio del grupo de consumidores para ver si hay reequilibrios frecuentes debido a cambios en la membresía del grupo de consumidores.

    Una vez que se haya identificado la causa raíz del aumento en el retraso, se pueden tomar medidas apropiadas para mitigarlo, como agregar más recursos, ajustar la aplicación Kafka Streams u optimizar la estrategia de particionamiento del tema.

Comments are closed.