В Кафке, на каком разделе __consumer_offsets потребитель фиксирует смещения? - PullRequest
0 голосов
/ 19 марта 2019

Потребитель должен стать каким-либо производителем для определенного раздела в теме __consumer_offsets.

Какое правило связывает раздел __consumer_offsets с потребителем?

Потребителемна самом деле может потреблять от разных брокеров, и не каждый из этих брокеров имеет один и тот же раздел __consumer_offsets.

1 Ответ

0 голосов
/ 19 марта 2019

Кафка хранит информацию о тематическом разделе во внутренней теме с именем __consumer_offsets.

Запрос на считывание смещения обслуживается только лидером раздела, а зафиксированные смещения сохраняются в лидере.

Синхронизируемые реплики также должны быть синхронизированы с ведущим разделом. Поэтому они делают запрос выборки, например, из какого смещения они хотят считывать данные из ведущего раздела.

После прочтения из ведущего раздела они также обновляют смещение в своем _consumer_offsets разделе.

В случае, если лидер раздела выходит из строя. Когда система запускается, любая из реплик in-sysc будет выбрана лидером, и у них будет последнее зафиксированное смещение.

Таким образом, назначенный потребитель для этого раздела получит последнее использованное смещение от последнего лидера и начнет читать с этого смещения.

Надежды, ответит на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...