第六周總結(jié)

本周主要介紹了分布式數(shù)據(jù)庫和NoSql數(shù)據(jù)庫的相關(guān)知識。
大多數(shù) NoSQL 無法實現(xiàn)真正符合 ACID 的事務(wù),只能實現(xiàn)數(shù)據(jù)的最終一致性。

CAP 理論

對于一個分布式系統(tǒng)而言,網(wǎng)絡(luò)失效一定會發(fā)生,也就是說,分區(qū)耐受性是必須要保證的,那么在可用性和一致性上就必須二選一。針對不同的使用場景,來決定實現(xiàn)AP還是CP。

BASE理論

基本可用(Basically Available)系統(tǒng)在出現(xiàn)不可預(yù)知故障時,允許損失部分可用性,如響應(yīng)時間上的損失或功能上的損失。
Soft state(弱狀態(tài))軟狀態(tài),指允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),并認為該中間狀態(tài)的存在不會影響系統(tǒng)的整體可用性,即允許系統(tǒng)在不同節(jié)點的數(shù)據(jù)副本之間進行數(shù)據(jù)同步的過程存在延時。
Eventually consistent(最終一致性)指系統(tǒng)中所有的數(shù)據(jù)副本,在經(jīng)過一段時間的同步后,最終能夠達到一個一致的狀態(tài),因此最終一致性的本質(zhì)是需要系統(tǒng)保證數(shù)據(jù)能夠達到一致,而不需要實時保證系統(tǒng)數(shù)據(jù)的強一致性。

ZooKeeper

ZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是按照CP原則構(gòu)建的。
Zookeeper是使用Paxos算法實現(xiàn)的,Paxos算法主要有三個角色,Proposer、Acceptor和Learner。
第一階段:Prepare 階段。Proposer 向Acceptors 發(fā)出Prepare 請求,Acceptors 針對收到的Prepare 請求進行Promise 承諾。
第二階段:Accept 階段。Proposer 收到多數(shù)Acceptors 承諾的Promise 后,向Acceptors 發(fā)出Propose 請求,Acceptors 針對收到的Propose 請求進行Accept 處理。
第三階段:Learn 階段。Proposer 在收到多數(shù)Acceptors 的Accept 之后,標志著本次Accept 成功,決議形成,將形成的決議發(fā)送給所有Learners。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 之前在實習的時候用到了Elasticsearch,看了看它內(nèi)部的實現(xiàn)原理,發(fā)現(xiàn)ES自己實現(xiàn)了一套分布式一致性解決方...
    yufeiyang1995閱讀 477評論 0 0
  • ZooKeeper 1 Zookeeper 數(shù)據(jù)模型 1.1 znode節(jié)點類型與特性 持久節(jié)點:該節(jié)點一旦創(chuàng)建為...
    小王的平凡生活_jerome閱讀 901評論 0 0
  • 轉(zhuǎn)載于https://zhuanlan.zhihu.com/p/31780743[https://zhuanlan...
    愛健身的兔子閱讀 541評論 0 0
  • 提升網(wǎng)站的訪問速度,持續(xù)的高并發(fā),這是技術(shù)上的必然,也是一種科技的衍進方式。以下是系統(tǒng)設(shè)計的進化之路。 單點集中式...
    Sophie12138閱讀 503評論 0 0
  • 久違的晴天,家長會。 家長大會開好到教室時,離放學已經(jīng)沒多少時間了。班主任說已經(jīng)安排了三個家長分享經(jīng)驗。 放學鈴聲...
    飄雪兒5閱讀 7,822評論 16 22

友情鏈接更多精彩內(nèi)容