我们应该都知道kafka分区是有leader和follower之分的,消费的时候是找的leader进行消费的,那么follower之间的数据同步,也是由leader parition来进行负责的!每个partition都管理了自己的LEO,那么leader的LEO和 follower的 LEO 是一样的吗?是不一样的,那么我们的LEO是怎么更新的呢?
follower partition会找到我们的leader partition来进行数据的同步操作,我们的leader partition 有一个专门的数据结构来负责管理follower parition的LEO。
follower partition同步数据的时候,会把自己的LEO带上,leader收到的时候会更新自己的follower LEO的数据结构,这样leader就知道我们的follower的同步情况,并且也可以根据这个数据结构也可以判断我们的数据应该哪些是可以消费的哪些是不可以消费的。