Manages rebalancing of consumers across jvms
Kafka consumer that allows reading a stream from various offsets (vs just the last read)
Replacement for kafka.consumer.KafkaStream - the original uses private methods we can't access
Container for passing around a consumer so that it can be rebuilt without losing the reference to it
Manages rebalancing of consumers across jvms
Consumer info is kept in zookeeper - changes to partitions or number of consumers triggers a zookeeper listener, which causes a rebalance to be run.
During rebalance, each partition will be assigned to a single consumer - if there are more consumers than partitions, some consumers will not receive any data.