Hello I am quite new to KAFKA and come from a JMS/messaging background. Reading through the documentation, I gather using partitions and consumer groups, KAFKA achieves both P2P and pub/sub. I have a few questions on partitions, though, I was wondering someone could kindly please point me in the right directions.
1. In a multi-server scenario, how does KAFKA decide how many partitions of a given topic is assigned to a given node? 2. When a topic is created dynamically by a consumer or a producer, how is the number of partitions specified? 3. If it is not or can't be specified, how does KAFKA decide the number of partitions to create? 4. If a producer doesn't specify a partition, how does KAFKA decide to which partition the message is allocated. 5. On consumption, do I need to explicitly create multiple consumers to attain parallelism? 6. If yes, would KAFKA allocate different partition to different consumers who are part of the same consumer group? 7. If one of those consumers exit, would KAFKA reallocate the partitions to remaining consumers? 8. How are the offsets propagated from an exited to consumer to the new consumer to which the partition is reallocated? 9. Is there a listener based API for consumption instead os a blocking poll? Kind regards Josh