Hi, This is from kafka faq:
* Each partition is not consumed by more than one consumer thread/process in each consumer group. This allows to have each process consume in a single threaded fashion to guarantee ordering to the consumer within the partition (if we split up a partition of ordered messages and handed them out to multiple consumers even though the messages were stored in order they would be processed out of order at times). Is this doable? Say a topic has 3 partitions. And there are 3 consumer processes in a consumer group each of which has a single thread. When we start the 3 processes, when the first process is up, it will consume all 3 partitions. When the second process is up, 1 process consumes 2 partitions and 1 consumes 1 partition. Only when the third process is up, will each process consume One partition. This will cause trouble. There seems to be no way to bound a stream to one partition. Regards, Libo