更新時(shí)間:2017-09-01 來(lái)源:黑馬程序員云計(jì)算大數(shù)據(jù)培訓(xùn)學(xué)院 瀏覽量:
1-1 zookeeper簡(jiǎn)述
zookeeper實(shí)際上是雅虎開發(fā)的,用于分布式中一致性處理的框架。最初其作為研發(fā)Hadoop時(shí)的副產(chǎn)品。由于分布式系統(tǒng)中一致性處理較為困難,其他的分布式系統(tǒng)沒有必要 費(fèi)勁重復(fù)造輪子,故隨后的分布式系統(tǒng)中大量應(yīng)用了zookeeper,以至于zookeeper成為了各種分布式系統(tǒng)的基礎(chǔ)組件,其地位之重要,可想而知。著名的hadoop、kafka、dubbo 都是基于zookeeper而構(gòu)建。
所以ZooKeeper是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng)。ZooKeeper是分布式系統(tǒng)中的一個(gè)重要組件,它能為HDFS、HBase、MapReduce、YARN、Hive等組件提供重要的功能支撐。在分布式應(yīng)用中,通常需要ZooKeeper來(lái)提供可靠的、可擴(kuò)展的、分布式的、可配置的協(xié)調(diào)機(jī)制來(lái)統(tǒng)一各系統(tǒng)的狀態(tài)。
1-2 一致性
要想理解zookeeper到底是做啥的,那首先得理解清楚,什么是一致性。
所謂的一致性,舉個(gè)例子:淘寶后臺(tái)賣家,在后臺(tái)上架一件大促的商品,通過(guò)服務(wù)器A提交到主數(shù)據(jù)庫(kù),假設(shè)剛提交后立馬就有用戶去通過(guò)應(yīng)用服務(wù)器B去從數(shù)據(jù)庫(kù)查詢?cè)撋唐?,就?huì)出現(xiàn)一個(gè)現(xiàn)象,賣家已經(jīng)更新成功了,然而買家卻看不到;而經(jīng)過(guò)一段時(shí)間后,主數(shù)據(jù)庫(kù)的數(shù)據(jù)同步到了從數(shù)據(jù)庫(kù),買家就能查到了。
假設(shè)賣家更新成功之后買家立馬就能看到賣家的更新,則稱為強(qiáng)一致性;
如果賣家更新成功后買家不能看到賣家更新的內(nèi)容,則稱為弱一致性;
而賣家更新成功后,買家經(jīng)過(guò)一段時(shí)間最終能看到賣家的更新,則稱為最終一致性。
更多的一致性例子可以參考文獻(xiàn)2,里面列舉了10種一致性的例子,如果要給一致性下個(gè)定義,可以是分布式系統(tǒng)中狀態(tài)或數(shù)據(jù)保持同步和一致。
云計(jì)算大數(shù)據(jù)培訓(xùn)之Spark-Streaming的基本原理以及預(yù)寫日志機(jī)制和checkpoint(3)
2017-09-01云計(jì)算大數(shù)據(jù)培訓(xùn)之Spark-Streaming的基本原理以及預(yù)寫日志機(jī)制和checkpoint(2)
2017-09-01云計(jì)算大數(shù)據(jù)培訓(xùn)之Spark-Streaming的基本原理以及預(yù)寫日志機(jī)制和checkpoint(1)
2017-09-01云計(jì)算大數(shù)據(jù)培訓(xùn)之10個(gè)常見誤解:算法即預(yù)言家、大數(shù)據(jù)必干凈(下)
2017-08-31云計(jì)算大數(shù)據(jù)培訓(xùn)之10個(gè)常見誤解:算法即預(yù)言家、大數(shù)據(jù)必干凈(上)
2017-08-31