认识KafKa-深入解析Leader和Follower数据同步机制(HW,LEO概念)

HW vs LEO

  • LEO(LogEndOffset):表示每个partition的log最后一条Message的位置。
  • HW(HighWatermark):表示partition各个replicas数据间同步且一致的offset位置,即表示allreplicas已经commit位置,每个Broker缓存中维护此信息,并不断更新。是指consumer能够看到的此partition位置。
  • 取一个partitionISR中最小的LEO作为HW,consumer最多只能消费到HW所在位置。
  • Consumer只能看到commit的数据,也就是HW的数据
    认识KafKa-深入解析Leader和Follower数据同步机制(HW,LEO概念)

Follower如何从Leader fetch消息

认识KafKa-深入解析Leader和Follower数据同步机制(HW,LEO概念)