副本
kafka 副本之间是 一主多从的关系。
其中 leader 副本负责处理读写请求,follower 副本只负责与 leader 副本的消息同步。
副本处于不同的 broker中,当 leader 副本出现故障时,从 follower 副本中重新选举新的 leader 副本对外提供服务。
kafka 通过多副本机制实现了故障的自动转移,当 kafka集群中某个 broker 失效时仍然能保证服务可用。
ISR (In-Sync Replicas)
所有与 leader 副本保持一定程度同步的副本(包括leader副本在内) 组成 ISR (In-Sync Replicas)
只有在 ISR 集合中的副本才有资格被选举为新的 leader。
OSR (Out-of-Sync Replicas)
消息先发送到 leader 副本,然后 follower 副本才能从 leader 副本中拉取消息进行同步,同步期间 follower 副本相对 leader 副本会有一定程序的滞后。
与 leader 副本同步滞后过多的副本(不包括 leader副本) 组成 OSR (Out-of-Sync Replicas)。
leader副本负责维护和跟踪ISR集合中所有follower副本的滞后状态,当follower副本落后太多或失效时,leader副本会把它从ISR集合中剔除。
如果OSR集合中有follower副本“追上”了leader副本,那么leader副本会把它从OSR集合转移至ISR集合。
AR (Assigned Replicas)
分区中的所有副本统称为 AR(Assigned Replicas) 。 AR = ISR + OSR。
HW (High Watermark)
HW , 俗称"高水位"。它标识了一个特定的消息偏移量( offset ) , 消费者只能拉取到这个 offset 之前的消息 。
LEO (Log End Offset )
LEO, 它标识当前日志文件中下一条待写入消息的 offset。
分区 ISR 集合中的每个副本都会维护自身的 LEO.而 ISR 集合中最小的 LEO 即为分区的 HW, 对消费者而言只能消费 HW 之前的消息。
资料来源:
《深入理解 Kafka-- 核心设计与实践原理》
标签:副本,入门,Replicas,ISR,kafka,follower,leader From: https://www.cnblogs.com/expiator/p/17973700