一杖们、zk的選舉模式:
master節(jié)點(diǎn)選舉悉抵,主節(jié)點(diǎn)掛了以后,從節(jié)點(diǎn)就會開始接手工作摘完,并且保證這個(gè)節(jié)點(diǎn)是唯一的姥饰,這也是所謂的首腦模式,從而保證我們的集群是高可用的孝治。
eg:比如說一個(gè)公司的所有高管去外國出差列粪,那他們呢分別坐了不同的飛機(jī),為啥呢荆秦,就是怕萬一有的飛機(jī)失事篱竭,其他別的飛機(jī)的領(lǐng)導(dǎo)可以接手他的事,保證公司的正常運(yùn)行步绸。這就是所謂的集群高可用( 略略略 ~ )
二掺逼、統(tǒng)一配置文件管理
即只需要部署一臺服務(wù)器,則他可以同時(shí)把相同的配置文件同步更新到其他所有服務(wù)器瓤介,此操作在云計(jì)算中用的很多吕喘。
but someone will say,why not let 運(yùn)維多備份幾個(gè)配置刑桑,再上傳到別的服務(wù)器呢氯质?那其實(shí)是不對的啦。
假設(shè)場景:
這里有三個(gè)集群祠斧,假設(shè)修改了redis統(tǒng)一配置時(shí)闻察,需要在這九臺機(jī)子上同時(shí)鏡像(實(shí)際中更是可能有成千上萬個(gè)集群),此時(shí)琢锋,運(yùn)維工程師如果一個(gè)個(gè)備份再上傳則工作量太大辕漂。
那么,zk的統(tǒng)一配置文件管理此時(shí)只需要修改一臺電腦吴超,那這臺電腦再分發(fā)到其他的電腦钉嘹,做一個(gè)統(tǒng)一的部署,簡化步驟鲸阻,提高效率跋涣。
三、發(fā)布與訂閱模式
類似于消息隊(duì)列MQ( amq鸟悴,rmq...),dubbo發(fā)布者把數(shù)據(jù)存在znode上陈辱,訂閱者會讀取這個(gè)數(shù)據(jù)。
比如說在/immoc/znode這個(gè)節(jié)點(diǎn)上遣臼,存儲了一些數(shù)據(jù)性置,發(fā)布者在這個(gè)節(jié)點(diǎn)上發(fā)布數(shù)據(jù)(增加或別的數(shù)據(jù)修改操作),訂閱者在讀取這個(gè)節(jié)點(diǎn)數(shù)據(jù)的后揍堰,對數(shù)據(jù)做一些自己的修改鹏浅。
四、提供分布式鎖
分布式環(huán)境中不同進(jìn)程之間爭奪資源屏歹,類似于多線程中的鎖
五隐砸、集群管理
集群中保證數(shù)據(jù)的強(qiáng)一致性。
假設(shè)這個(gè)集群中有三個(gè)節(jié)點(diǎn)蝙眶,客戶端一開始向主節(jié)點(diǎn)(最左邊那個(gè))中寫入數(shù)據(jù)XYZ季希,此時(shí),數(shù)據(jù)會被同時(shí)同步部署到其他從節(jié)點(diǎn)幽纷;然后呢式塌,這個(gè)客戶端斷開了與主節(jié)點(diǎn)的連接,去連接其他的一個(gè)從節(jié)點(diǎn)了友浸,依然可以讀到與主節(jié)點(diǎn)相同的數(shù)據(jù)峰尝,這就是數(shù)據(jù)的強(qiáng)一致性,嘻嘻~