I am new to Kafa but have experience with ActiveMQ. When reading about Kafka I understand that a topic can have multiple partitions that can be produced to in a "round-robin" technique. I also understand that you can only have one consumer per topic partition.
What I cannot understand so far is the benefit in using multiple partitions with a single consumer on each over using a single ActiveMQ queue and having multiple consumers (threads).
Let me attempt to demonstrate.
Kafka Produce messages 1,2,3 to a topic with 3 partitions. Partition 1 would get message 1, partition 2 would get message 2 and partition 3 would get message 3. I would then potentially need 3 consumers (with configuration) to get the 3 messages concurrently.
ActiveMQ Produce messages 1,2,3 to a queue. I could have a single message listener (one MDB for example with a single configuration) that would start in a thread for each message on the queue.
It appears to me that I need to do additional work and configuration to consume the 3 messages from Kafka (3 partitions) over the work required for the single ActiveMQ queue.
Am I missing something?