¿Cómo programa kafka el consumo de consumidores de varios temas?

1

Tengo un consumidor kafka que consume varios temas (más de 30) y 6 particiones para cada tema. Me gustaría saber cómo un solo consumidor consume de múltiples temas (y partición) y cómo programa qué tema, partición, compensación consumir.

Estoy enfrentando problemas de retraso de los consumidores y quería aprender más sobre cómo consume el consumidor de varios temas.

Will it start multiple threads ? 
Will it schedule itself between partitions ?
What kind of scheduling it will use 

Mi pregunta está relacionada con el consumo de un solo consumidor de varios temas. Digamos que todos los temas están cargados con 1 millón de registros cada uno y un solo consumidor tiene que procesar esos registros. En qué orden se leerán los temas (me refiero a qué tema / partición primero, etc.)

¿Algún enlace a los componentes internos de kafka ayudará?

2
  • ¿Para qué biblioteca estás usando KafkaConsumer? Deadpool 9/12/19 a las 14:10
  • Estamos utilizando la aplicación Kafka Streams. la respuesta es 'apache kafka'SunilS 9 dic 2019 a las 15:15
0

Will it start multiple threads ?

Para la API de consumidor de Java, no. Solo se crea un subproceso (excluyendo el subproceso de latido) para recuperar los registros.

Will it schedule itself between partitions ?

El buscador realiza lotes por particiones temáticas. Supongamos que tiene tres temas: t1, t2 y t3, cada uno de los cuales tiene dos particiones. Puede terminar algo como t3-1, t3-0, t2-0, t2-1, t1-0, t1-1.

What kind of scheduling it will use

Básicamente, utiliza una política de turnos para garantizar la equidad.

Parece que no hay enlaces internos que los expongan. Consulte SubscriptionState y PartitionStates para obtener más detalles.