简述Kafka Follower 副本消息同步的完整流程?

無名 发表于: 2021-07-27   最后更新时间: 2021-07-27 16:19:42   1,286 游览

简述Kafka Follower 副本消息同步的完整流程?

发表于 2021-07-27

首先,Follower发送FETCH请求给Leader。
接着,Leader会读取底层日志文件中的消息数据,再更新它内存中的Follower副本的LEO值,更新为FETCH请求中的fetchOffset值。
最后,尝试更新分区高水位值。Follower接收到FETCH响应之后,会把消息写入到底层日志,接着更新LEO和HW值。
Leader和Follower的HW值更新时机是不同的,Follower的HW更新永远落后于Leader的HW。这种时间上的错配是造成各种不一致的原因。
因此,对于消费者而言,消费到的消息永远是所有副本中最小的那个HW。

你的答案

查看kafka相关的其他问题或提一个您自己的问题