我在学习kafka的时候,学习到副本这一章节,知道了在kafka中,副本分为leader副本和follower副本。然后假如leader副本挂掉了,kafka会快速在follower副本中选取一个副本作为leader副本。
那么我的问题就是:
1、为啥我看网上说follower副本还分为ISR副本和普通副本?这个说法对吗?
2、假如follower副本真的分为分为ISR副本和普通副本,那这里的"普通副本"是指"OSR副本"吗?网上的说法太多,我都不确定“普通副本=OSR副本”这个观点是否正确了,因为我看资料说AR=ISR+OSR
3、对于选举的情况,网上说,kafka会从ISR副本里面选取一个作为leader,如果ISR副本都挂掉了,那就是去普通副本去拿吗?(即OSR副本?)
4、假如所有的副本都挂掉了,拿kafka会怎样做?网上的说法有几种,1:指定新leader为 -1;2、等待ISR中的第一个副本活过来选举为leader;3、等待所有副本中的第一个副本活过来选举为leader。说法都好多呀,但我不知道具体哪个是对的。。
1、确实有ISR副本和非ISR副本的概念。
ISR副本(In-Sync Replicas)是指与Leader副本保持同步的副本,而非ISR副本则是指与Leader副本不保持同步的副本。ISR副本用于保证数据的可靠性和一致性,只有ISR副本中的数据才被认为是可用的。
2、普通副本和OSR副本并不是同一个概念。
普通副本是指非ISR副本,即与Leader副本不保持同步的副本。而OSR副本(Out-of-Sync Replicas)是指与Leader副本不保持同步的副本,包括非ISR副本和正在追赶Leader副本的副本。
3、当ISR副本都挂掉时,Kafka会从OSR副本中选取一个作为新的Leader副本。
这是因为OSR副本虽然与Leader副本不保持同步,但它们仍然包含了最新的数据,可以用来恢复服务。
4、如果所有副本都挂掉了,Kafka会等待ISR中的第一个副本或所有副本中的第一个副本活过来,并选举其为新的Leader副本。这样可以确保数据的可用性和一致性。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!