I have a kafka topic which has 50 partitions, and the publishing message rate is 500 a second. As port pf consumer design, we can either have Multiple consumers with their own threads or Single consumer, multiple worker processing threads using concurrent listeners.
Lets say each message takes 100ms to process. If we use a single consumer and use the concurrent Message Listener container then we will end up having 50 threads in a single deployment.
If we deploy multiple applications with same group id and assign each application 10 concurrent threads then we will require 5 deployments. Re balancing can be an issue if a one of the application restarts
Can you please suggest a good approach or splitting the topic is recommended if there are too many partitions