Thanks for answering my questions. Now I know why the offset is saved in zookeepers. If a consumer group has only one consumer, when it fails and restarts, I assume it starts consuming from the offset saved in the zookeeper. Is that right? If that is the case, then the consumer client does not need to worry about duplicate Messages. Is there any chance that messages will be lost ?
Regards, Libo