参考答案:
ISR(In-Sync Replicas):副本同步队列
ISR是Leader维护了一个动态副本同步队列,是和leader保持同步的follower集合。
OSR(Out-Sync Relipcas):
当ISR中的follower长时间(replica.lag.time.max.ms参数设定)未向leader同步数据,则该follower将被踢出ISR,加入到OSR。
ACK:producer的消息发送确认机制
ack=0
producer不等待broker的ack,这一操作提供了一个最低的延迟,broker一接收到还没有写入磁盘就已经返回,当broker故障时有可能丢失数据
ack=1
producer等待broker的ack,partition的leader落盘成功后返回ack,如果在follower同步成功之前leader故障,那么将会丢失数据;
ack=-1
producer等待broker的ack,partition的leader和follower全部落盘成功后才返回ack。但是如果在follower同步完成后,broker发送ack之前,leader发生故障,那么会造成数据重复。