赞
踩
AR是指分区中的所有副本集
理想情况下
AR=ISR,OSR=0
实际情况下
AR = ISR + OSR
起始位移,replica中第一条消息的offset。
代表AR集合中最小的logStartOffset值,副本的拉取请求(FetchRequest,它有可能触发新建日志分段而旧的的被清理,进而导致logStartoffset的增加)和删除请求(DeleteRecordRequest)都可能促使LW的增长。
kafka的leader选举是基于quorum算法,quorum是一种常用分布式系统算法,主要用来通过数据冗余来保证数据一致性的投票算法,算法从ISR中选举出leader。
如果ISR为空,即所有ISR内的副本都不可用,有两种选择
kafka有partition recovery机制用于恢复挂掉的partition。每个partition会在磁盘记录一个recovery point(恢复点),记录已经flush到磁盘的最大offset。当broker fail 重启时,会进行loadLogs。首先会读取该partition的recovery point,找到包含recovery point点上的segment及以后的segment,这些segment就是可能没有完全flush到磁盘segments。然后调用segment的recover,重新读取各个segment的msg,并重建索引。
segment机制优点:
15. 主题、分区、segment等关系
参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。