[Dúvida] Kafka - processamentos em paralelos
Eu tenho o seguinte cenário:
Supondo que um arquivo pode ter de 100 à 40k linhas, vamos usar 2 clientes de exemplo
O cliente A quer importar um arquivo que tem 20000 registros
O cliente B quer importar um arquivo que tem 400 registros
(Mas terei centenas de clientes e eles podem enviar vários arquivos de uma vez)
Quando o cliente A faz o upload do arquivo e clica em importar, então as linhas do arquivo são lidas e publicadas na fila processar-registros (uma à uma).
A fila processar-registros, está configurada com 10 partições.
A aplicação começará a processar as linhas (consumer)...
Nesse meio tempo, o cliente B faz o mesmo processo para o arquivo dele com 400 registros.
O problema
As mensagens do cliente B são publicadas após as do cliente A (seguindo a ideia de fila do kafka), então as mensagens do cliente B aguardarão até as mensagens do cliente A serem consumidas e processadas e só então as mensagens do cliente B SERÃO processadas
Qual abordagem podemos seguir para que os 2 (ou mais) clientes tenham seus arquivos (registros) processados em pararelo?
Vale lembrar que não terei só 2 cliente e sim vários