Вам лучше прочитать раздел потребителей из официальной документации Kafka:
Потребители маркируют себя именем группы потребителей, и каждая запись публикуется в топи c доставляется одному экземпляру потребителя в каждой подписавшейся группе потребителей. Экземпляры-потребители могут находиться в отдельных процессах или на разных компьютерах.
Если все экземпляры-потребители имеют одну и ту же группу потребителей, тогда записи будут эффективно сбалансированы по нагрузке по экземплярам-потребителям.
Если все экземпляры потребителей имеют разные группы потребителей, тогда каждая запись будет транслироваться всем процессам потребителей.
Каждая группа потребителей имеет свое смещение. Если вы не укажете customer group.id, то при каждом запуске вашей программы будет сгенерирован новый идентификатор группы потребителей, который будет присвоен вашему клиентскому клиенту. Таким образом, вы всегда начнете читать сообщения с самого начала (смещение = 0).
Если вы хотите продолжить чтение с последнего смещения, вам нужно использовать тот же group.id, что и раньше.
В каждой топике c может быть несколько групп потребителей. Вы можете перечислить их:
bin/kafka-consumer-groups.sh --list --bootstrap-server localhost:9092
и описать определенную группу c:
bin/kafka-consumer-groups.sh --describe --group mygroup --bootstrap-server localhost:9092