引入 High Water Mark 机制:
只有 High Water Mark 以上的消息才支持 Consumer 读取,而 High Water Mark 取决于 ISR(in-sync replicas) 列表
里面偏移量最小的分区, 这个很类似于木桶原理。
弊端:
会导致 Broker 间的消息复制因为某些原因变慢,那么消息到达消费者的时间也会随之变长(因为我们会先等待消息复制完毕)。
延迟时间可以通过参数 replica.lag.time.max.ms 参数配置,它指定了副本在复制消息时可被允许的最大延迟时间。