Minha sugestão é experimentar usar Keys diferentes nas partições, pois um produtor que envia mensagem do cliente A e usa uma key para o cliente A, essas mensagens irão sempre para uma partição X. Já as mensagens do cliente B usando uma key B vão sempre para partição Y. Na hora de consumir usando consumidores paralelos meio que ficaria uma partição para cada X clientes.
Óbvio que depende do número de clientes e o tempo pra ler essas mensagens mas acho que vale o teste.
Algumas leituras que falam sobre partition key:
https://www.openlogic.com/blog/kafka-partitions
https://medium.com/event-driven-utopia/understanding-kafka-topic-partitions-ae40f80552e8