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