Кафка хранит информацию о тематическом разделе во внутренней теме с именем __consumer_offsets
.
Запрос на считывание смещения обслуживается только лидером раздела, а зафиксированные смещения сохраняются в лидере.
Синхронизируемые реплики также должны быть синхронизированы с ведущим разделом. Поэтому они делают запрос выборки, например, из какого смещения они хотят считывать данные из ведущего раздела.
После прочтения из ведущего раздела они также обновляют смещение в своем _consumer_offsets
разделе.
В случае, если лидер раздела выходит из строя. Когда система запускается, любая из реплик in-sysc будет выбрана лидером, и у них будет последнее зафиксированное смещение.
Таким образом, назначенный потребитель для этого раздела получит последнее использованное смещение от последнего лидера и начнет читать с этого смещения.
Надежды, ответит на ваш вопрос.