Как реплика лидера Kafka решает продвинуть Highwater Mark (HW) при репликации данных на реплики подписчиков - PullRequest
4 голосов
/ 23 сентября 2019

Я читал о протоколе репликации Kafka.Я обнаружил, что Кафка поддерживает LEO и HW.Как я понял,

LEO: смещение последнего сообщения, которое увидела реплика.

HW: смещение последнего сообщения, гарантирующее, что каждая реплика увидела.

KafkaЛидер использует эти методы подтверждения.

  1. acks = 0
  2. acks = 1
  3. acks = all

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

Что я понял,

  1. для acks = 0, Лидер продвигает HW, когда он видит новыйmessage.

  2. для acks = 1, Лидер переводит HW, когда записывает новое сообщение в свой локальный журнал.

  3. для acks = all,Лидер продвигается HW, когда каждый последователь отправил подтверждение, что получил сообщение.

Это правильно?Кто-нибудь может уточнить это?

...