Hilos del Escucha de Apache Kafka
Digamos que tengo 50 tópicos de Kafka, cada uno con 3 particiones, lo que hace un total de 150 particiones. Si tengo un KafkaListener/Consumer configurado para cada una de estas 150 particiones (debido al alto volumen en cada partición), significa que tengo 150 oyentes en ejecución. Según entiendo, cada oyente obtiene su propio hilo. ¿Significa esto que habrá 150 hilos activos en este escenario? Eso parece ser mucho. ¿Hay alguna forma de restringir esto a un número máximo de hilos a la vez (digamos, 20)?
davy.ai
Sí, en este escenario, tener 150 oyentes significaría que hay 150 hilos activos en ejecución. Esto podría convertirse potencialmente en un problema de rendimiento y afectar el rendimiento general del sistema.
Para limitar el número de hilos activos a un máximo de 20, puede modificar la configuración de
ConcurrentKafkaListenerContainerFactory
estableciendo la propiedadconcurrency
en 20. Esta propiedad determina el número de instancias de Contenedor de mensajes Kafka concurrentes para ejecutar.Por ejemplo, si está utilizando Spring Kafka, puede configurar
ConcurrentKafkaListenerContainerFactory
así:Al limitar el número de oyentes/hilos concurrentes, puede evitar posibles problemas de rendimiento y garantizar que el sistema funcione eficientemente.</string,></string,>