¿Apache Kafka es apropiado para su uso como una cola de tareas desordenadas?

Kafka divide los mensajes entrantes en particiones, de acuerdo con la partición asignada por el productor. Los mensajes de las particiones luego son consumidos por los consumidores en diferentes grupos de consumidores.

Esta arquitectura me hace desconfiar de usar Kafka como una cola de trabajo / tarea, porque tengo que especificar la partición en el momento de la producción, lo que limita indirectamente qué consumidores pueden trabajar en ella porque una partición se envía a un solo consumidor en un grupo de consumidores. Prefiero no especificar la partición con anticipación, de modo que cualquier consumidor que esté disponible para realizar esa tarea pueda hacerlo. ¿Hay alguna forma de estructurar particiones / productores en una arquitectura Kafka donde las tareas puedan ser realizadas por el próximo consumidor disponible, sin tener que dividir el trabajo antes de tiempo eligiendo una partición cuando se produce el trabajo?

El uso de una sola partición para este tema colocaría todas las tareas en la misma cola, pero luego el número de consumidores está limitado a 1 por grupo de consumidores, por lo que cada consumidor tendría que estar en un grupo diferente. Sin embargo, toda la tarea se distribuye a cada grupo de consumidores, que no es el tipo de cola de trabajo que estoy buscando.

¿Apache Kafka es apropiado para usar como cola de tareas?

Respuestas a la pregunta(4)

Su respuesta a la pregunta