Является ли манипулирование «смещением чтения» потребителем кафки? - PullRequest
0 голосов
/ 10 января 2019

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

Спорным моментом является способность потребителя не только подписываться (или повторно подписываться) на тему, но и изменять собственное смещение чтения.

Прав ли я, говоря: "Потребитель должен проектировать таким образом, чтобы он никогда не изменял свое смещение чтения!"

Причина этого:

  • Потребитель не может знать, какие события на самом деле хранятся в теме (сохранение журнала)
  • ... Таким образом, восстановление полного состояния из событий "delta" невозможно.
  • Потребитель использовал событие один раз и подтвердил это брокеру. зачем снова потреблять?

1 Ответ

0 голосов
/ 10 января 2019

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

...