Apacke Kafka Detector De Hilos

0

Pregunta

Digamos que tengo 50 Kafka Temas, cada uno con 3 particiones, lo que suma un total de 150 particiones. Si tengo un KafkaListener/Consumidor configurado para cada uno de estos 150 particiones (debido al alto volumen en cada partición), que significa que tengo 150 oyentes en ejecución. Por lo que yo entiendo, cada usuario tiene su propio hilo. Así que ¿eso significa que habrá 150 hilos activos en este escenario? Que parece como un montón. Hay alguna manera de que yo pueda restringir esta a un número máximo de hilos en un tiempo(digamos, 20)?

2
0

Kafka siempre da una sola partición de datos a un consumidor hilo

Para limitar el número de hilos a 20 con 150 particiones, se podría establecer la concurrencia a 8 que se debe crear de forma efectiva 8 separada de los consumidores instancias y limite el número de hilos a un máximo de <19 (150/8).

Esta es otra de la pila de post sobre el tema que lo explica un poco más para la configuración de la concurrencia en su kafka escucha de fábrica. También este es otro decente fuente para explicar algunos de los conceptos en torno a kafka temas y particiones.

2021-11-24 04:47:11
0
  1. Si usted desea maximizar el consumo, sí, se necesitan 150 consumer threads en 150 partitions (1 consumidor hilo por partición). En caso de que usted sólo tiene 20, no se puede desea maximizar el consumo, al contrario, ahora 1 consumidor es responsable de consumir por ejemplo 150/20=7 partitions. Es una cuestión de equilibrio.

  2. Usted no quiere que su aplicación consume 50 topics en un momento. Esto lleva al problema de escala. Digamos ahora un tema que se debe aumentar el número de sus partitions de 3 a 6, horizontal escala de su aplicación a partir de 1 a 2 casos, lo que significa que a partir de 150 consumers a 300 consumers y sólo hay 150 + (6-3) = 153 activo consumers, los otros llegan a ser inactivo.

2021-11-25 03:34:09

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................