新聞中心
本篇文章為大家展示了怎么分析Zookeeper的一致性,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于都昌網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供都昌營(yíng)銷型網(wǎng)站建設(shè),都昌網(wǎng)站制作、都昌網(wǎng)頁(yè)設(shè)計(jì)、都昌網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造都昌網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供都昌網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
Zookeeper 是一種高性能、可擴(kuò)展的服務(wù)。 Zookeeper 的讀寫速度非常快,并且讀的速度要比寫的速度更快。另外,在進(jìn)行讀操作的時(shí)候, ZooKeeper 依然能夠?yàn)榕f的數(shù)據(jù)提供服務(wù)。這些都是由于 ZooKeepe 所提供的一致性保證,它具有如下特點(diǎn):
【Zookeeper提供的一致性是弱一致性,首先數(shù)據(jù)的復(fù)制有如下規(guī)則:zookeeper確保對(duì)znode樹的每一個(gè)修改都會(huì)被復(fù)制到集合體中超過半數(shù)的機(jī)器上。那么就有可能有節(jié)點(diǎn)的數(shù)據(jù)不是最新的而被客戶端訪問到。并且會(huì)有一個(gè)時(shí)間點(diǎn),在集群中是不一致的.
也就是Zookeeper只保證最終一致性, 但是實(shí)時(shí)的一致性可以由客戶端調(diào)用自己來(lái)保證,通過調(diào)用sync()方法.】
順序一致性
客戶端的更新順序與它們被發(fā)送的順序相一致。
原子性
更新操作要么成功要么失敗,沒有第三種結(jié)果。
單系統(tǒng)鏡像
無(wú)論客戶端連接到哪一個(gè)服務(wù)器,客戶端將看到相同的 ZooKeeper 視圖。
【如果數(shù)據(jù)不一致,怎么能夠保證看到相同的視圖? 插入/刪除/修改都會(huì)對(duì)數(shù)據(jù)結(jié)構(gòu)有影響】
可靠性
一旦一個(gè)更新操作被應(yīng)用,那么在客戶端再次更新它之前,它的值將不會(huì)改變。。這個(gè)保證將會(huì)產(chǎn)生下面兩種結(jié)果:
1 .如果客戶端成功地獲得了正確的返回代碼,那么說明更新已經(jīng)成果。如果不能夠獲得返回代碼(由于通信錯(cuò)誤、超時(shí)等等),那么客戶端將不知道更新操作是否生效。
2 .當(dāng)從故障恢復(fù)的時(shí)候,任何客戶端能夠看到的執(zhí)行成功的更新操作將不會(huì)被回滾。
實(shí)時(shí)性
在特定的一段時(shí)間內(nèi),客戶端看到的系統(tǒng)需要被保證是實(shí)時(shí)的(在十幾秒的時(shí)間里)。在此時(shí)間段內(nèi),任何系統(tǒng)的改變將被客戶端看到,或者被客戶端偵測(cè)到。
【偽實(shí)時(shí)性,太讓人誤解了,直白點(diǎn)說就是數(shù)據(jù)可以在十幾秒Sync到各個(gè)節(jié)點(diǎn),保證最終一致性. 我第一時(shí)間看到這個(gè)實(shí)時(shí)性的時(shí)候,我就好奇,Oracle RAC花了老鼻子勁才保證了實(shí)時(shí)性和一致性,Zookeeper是如何輕松做到的,原來(lái)是個(gè)假的,還說的那么讓人誤會(huì). 】
給予這些一致性保證, ZooKeeper 更高級(jí)功能的設(shè)計(jì)與實(shí)現(xiàn)將會(huì)變得非常容易,例如: leader 選舉、隊(duì)列以及可撤銷鎖等機(jī)制的實(shí)現(xiàn)。
【
用分布式系統(tǒng)的CAP原則來(lái)分析Zookeeper.
1)C: Zookeeper保證了最終一致性,在十幾秒可以Sync到各個(gè)節(jié)點(diǎn).
2)A: Zookeeper保證了可用性,數(shù)據(jù)總是可用的,沒有鎖.并且有一大半的節(jié)點(diǎn)所擁有的數(shù)據(jù)是最新的,實(shí)時(shí)的. 如果想保證取得是數(shù)據(jù)一定是最新的,需要手工調(diào)用Sync()
3)P: 有2點(diǎn)需要分析的.
節(jié)點(diǎn)多了會(huì)導(dǎo)致寫數(shù)據(jù)延時(shí)非常大,因?yàn)樾枰鄠€(gè)節(jié)點(diǎn)同步.
節(jié)點(diǎn)多了Leader選舉非常耗時(shí), 就會(huì)放大網(wǎng)絡(luò)的問題. 可以通過引入observer節(jié)點(diǎn)緩解這個(gè)問題.
】
上述內(nèi)容就是怎么分析Zookeeper的一致性,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站題目:怎么分析Zookeeper的一致性
網(wǎng)頁(yè)網(wǎng)址:http://www.ef60e0e.cn/article/psgscj.html