Как __consumer_offsets поддерживает смещение для двух потребителей? - PullRequest
0 голосов
/ 09 июля 2019

enter image description here

Точно так же, как на изображении выше, если Потребитель A потребляет из Раздела, а Потребитель B из Группы Потребителей потребляет из того же Раздела, как Кафка управляет смещением в__consumer_offsets?

Я хочу знать, как Kafka записывает смещения потребителей в файлах .index, .log, .timeindex.

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Цитата из документов, которые можно найти здесь: https://kafka.apache.org/documentation/#impl_offsettracking

Kafka provides the option to store all the offsets for a given consumer group in a designated broker.

Таким образом, это по группам потребителей, а не по потребителям. Кроме того, эта статья может быть полезна для вас: https://medium.com/@felipedutratine/kafka-consumer-offsets-topic-3d5483cda4a6 Если вы прочитаете тему о потребительских смещениях, вы получите данные в формате [groupId,topicName,partitionNumber].

0 голосов
/ 12 июля 2019

Если есть несколько потребителей, использующих эту тему (потребитель в группе потребителей), Kafka сохраняет смещение, как показано ниже.(Мне просто нравятся изображения, они помогают мне лучше понять :))

enter image description here

enter image description here

enter image description here

В __consumer_offsets-, есть файлы, как показано ниже.Вот где записывается смещение.

enter image description here

Файл индекса и файл журнала содержат следующее (пример): файл временного индекса используется как файл индекса, помогающий Кафкебыстрый поиск сообщений на диске.

enter image description here

Наконец, приведенная ниже диаграмма может дать вам представление о том, как смещение сохраняется в файле журнала.

enter image description here

Все изображения из Google.

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