更新時間:2023年06月15日17時18分 來源:傳智教育 瀏覽次數(shù):
Kafka的服務(wù)器端由被稱為Broker的服務(wù)進程構(gòu)成,即一個Kafka集群由多個Broker組成。這樣如果集群中某一臺機器宕機,其他機器上的Broker也依然能夠?qū)ν馓峁┓?wù)。這其實就是Kafka提供高可用的手段之一。
Kafka中可以將消息備份,備份的過程又可以叫做保存副本(Replica),領(lǐng)導(dǎo)者副本(Leader Replica)和追隨者副本(Follower Replica),從而保證系統(tǒng)的穩(wěn)定性。下面看Kafka的備份機制。
同步方式備份需要同步復(fù)制保存的follower,如果leader失效后,需要選出新的leader,選舉的原則如下:
第一:選舉時優(yōu)先從ISR中選定,因為這個列表中follower的數(shù)據(jù)是與leader同步的。
第二:如果ISR列表中的follower都不行了,就只能從其他follower中選取。
極端情況,就是所有副本都失效了,這時有兩種方案。
第一:等待ISR中的一個活過來,選為Leader,數(shù)據(jù)可靠,但活過來的時間不確定。
第二:選擇第一個活過來的Replication,不一定是ISR中的,選為leader,以最快速度恢復(fù)可用性,但數(shù)據(jù)不一定完整。