Apache Kafka源码分析 – Replica and Partition

 

Replica

对于local replica, 需要记录highWatermarkValue,表示当前已经committed的数据
对于remote replica,需要记录logEndOffsetValue以及更新的时间

 

Partition

主要用于管理leader,ISR,AR

getOrCreateReplica


makeLeader

maybeIncrementLeaderHW
用所有remote replica的LEO的最小值来替换当前的HW(如果大于HW的话)


makeFollower


maybeShrinkIsr

从ISR中将Stuck followers和Slow followers去除

posted on 2014-03-03 18:01  fxjwind  阅读(1161)  评论(0编辑  收藏  举报