Разница между смещением уровня потребителя и смещением группы потребителей в Кафке - PullRequest
1 голос
/ 27 февраля 2020

Попытка понять между смещением в Consumer и смещением группы Consumer.

Ссылка ниже переполнения стека обеспечивает отличное понимание управления смещением группы Consumer.
Что определяет смещение потребителя Kafka? Теперь вопрос здесь,

Scenar ios:

У нас есть потребитель (c1) в группе потребителей1.

  1. Будет ли это значение смещения сохраняться на уровне потребителя (c1) и группы (group1)? Или, если потребитель будет принадлежать к какой-либо группе потребителей, смещение будет сохранено на уровне группы только потребителей?
  2. Если значение смещения будет сохранено на обоих уровнях, будет ли это значение смещения уровня потребителя переопределять уровень группы потребителей значение смещения.

Пример

Значение смещения уровня потребителя - 5 Значение смещения уровня группы потребителей - 8 Когда система будет перезапущена с 8?

Реверс:

Значение смещения уровня потребителя - 8 Значение смещения уровня группы потребителей - 5 Когда система будет перезапущена с 5?

1 Ответ

0 голосов
/ 28 февраля 2020

Это зависит от Кафки управления группами потребителей , если управление группами потребителей включено с помощью group.id, смещение будет сохранено на уровне группы потребителей, так что в случае повторного баланса новый потребитель может прочитать from offset.

И если управление группами потребителей отключено, смещение сохраняется в режиме потребления, по умолчанию group.id равно нулю, если пользователь не предоставил его, поэтому шансов на сохранение смещения на обоих уровнях не существует

Семантика смещения истечения немного изменилась в этой версии. Согласно новой семантике, смещения разделов в группе не будут удалены, пока группа подписана на соответствующий топи c и все еще активна (имеет активных потребителей). Если группа становится пустой, все ее смещения будут удалены по истечении периода хранения смещения по умолчанию (или установленного брокером) (если группа снова не станет активной). Смещения, связанные с автономными (простыми) потребителями, которые не используют управление группами Kafka, будут удалены после истечения периода хранения смещения по умолчанию (или установленного брокером) с момента их последней фиксации.

group.id:

Уникальная строка, идентифицирующая группу потребителей, к которой принадлежит этот потребитель. Это свойство требуется, если потребитель использует функциональность управления группой с помощью подписки (topi c) или стратегии управления смещениями на основе Kafka.

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