<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CAP定理與BASE理論

          共 1455字,需瀏覽 3分鐘

           ·

          2021-10-16 22:22

          這里對(duì)分布式理論中的CAP定理與BASE理論進(jìn)行介紹

          abstract.jpg

          CAP定理

          基本原理

          CAP定理(CAP Theorem),又被稱作布魯爾定理。其指出在一個(gè)分布式系統(tǒng)中,不可能同時(shí)滿足以下三點(diǎn)要求

          1. Consistency 一致性

          在分布式系統(tǒng)中訪問各節(jié)點(diǎn)副本時(shí),數(shù)據(jù)是一致的。注意這里的一致性是強(qiáng)一致性

          2. Availability 可用性

          在分布式系統(tǒng)中訪問各節(jié)點(diǎn)時(shí)均可以獲得預(yù)期響應(yīng),即服務(wù)是可用的。但不保證返回的數(shù)據(jù)是最新的

          3. Partition Tolerance 分區(qū)容錯(cuò)

          在一個(gè)分布式系統(tǒng)中當(dāng)出現(xiàn)網(wǎng)絡(luò)異?;蚬?jié)點(diǎn)所在機(jī)器發(fā)生故障時(shí),不可避免的會(huì)出現(xiàn)網(wǎng)絡(luò)分區(qū)。比如A、B兩個(gè)節(jié)點(diǎn)雖然各自都可以對(duì)外提供服務(wù),但A、B之間的網(wǎng)絡(luò)發(fā)生故障無法通信,即出現(xiàn)了分區(qū)。當(dāng)發(fā)生網(wǎng)絡(luò)分區(qū)后,整個(gè)分布式系統(tǒng)依然需要繼續(xù)工作而不能就此停止,即所謂的分區(qū)容錯(cuò)

          至此可以看出對(duì)于一個(gè)分布式系統(tǒng)而言,網(wǎng)絡(luò)環(huán)境十分復(fù)雜,P是不可避免的、必須要保證的。那么當(dāng)發(fā)生網(wǎng)絡(luò)分區(qū)時(shí),是滿足Consistency一致性還是Availability可用性就成了一個(gè)問題

          CP模型

          當(dāng)出現(xiàn)網(wǎng)絡(luò)分區(qū)時(shí),滿足Consistency一致性。即CP模型,則系統(tǒng)會(huì)拒絕向其中寫入數(shù)據(jù)。因?yàn)橐坏懭?,由于網(wǎng)絡(luò)分區(qū)無法同步即會(huì)出現(xiàn)各節(jié)點(diǎn)數(shù)據(jù)不一致的情況。但從系統(tǒng)各節(jié)點(diǎn)讀取數(shù)據(jù)時(shí),不會(huì)出現(xiàn)不一致的情況。所以對(duì)于CP模型而言,其一致性是通過犧牲可用性來實(shí)現(xiàn)的

          AP模型

          當(dāng)出現(xiàn)網(wǎng)絡(luò)分區(qū)時(shí),滿足Availability可用性。即AP模型,則系統(tǒng)無論對(duì)于寫數(shù)據(jù)還是讀數(shù)據(jù)都會(huì)進(jìn)行處理,以滿足可用性。同理,由于網(wǎng)絡(luò)分區(qū)無法進(jìn)行數(shù)據(jù)同步,客戶端從不同節(jié)點(diǎn)進(jìn)行數(shù)據(jù)訪問時(shí),可能會(huì)出現(xiàn)結(jié)果不一致的情形。即可用性是通過犧牲一致性來實(shí)現(xiàn)的

          Note

          值得一提的是,CAP定理不是指分布式系統(tǒng)在任何條件下都必須在可用性、一致性中進(jìn)行二選一。在未發(fā)生網(wǎng)絡(luò)分區(qū)的場(chǎng)景時(shí),可用性和一致性是能夠同時(shí)保證的。CAP定理闡述的是當(dāng)發(fā)生網(wǎng)絡(luò)分區(qū)時(shí),即需要滿足P時(shí),我們需要在C、A之間做出抉擇

          BASE理論

          Base理論是對(duì)CAP定理中AP模型的進(jìn)一步發(fā)展,因?yàn)閷?shí)際業(yè)務(wù)中很多分布式系統(tǒng)對(duì)于可用性的訴求相比較一致性會(huì)更高。故雖然不能保證CAP定理中的強(qiáng)一致性C,但分布式系統(tǒng)可以通過合適方式、手段來達(dá)到最終一致性

          1. Basically Available 基本可用

          當(dāng)分布式系統(tǒng)發(fā)生不可預(yù)知的故障時(shí),允許損失部分功能的可用性,保障核心功能的可用性,從而實(shí)現(xiàn)基本可用的目標(biāo)。具體實(shí)現(xiàn)方式包括流量削峰、請(qǐng)求排隊(duì)、服務(wù)降級(jí)、服務(wù)熔斷等

          2. Soft State 軟狀態(tài)

          其指的是在保障基本可用性與最終一致性的要求下,系統(tǒng)中各節(jié)點(diǎn)的數(shù)據(jù)允許存在短暫的不一致。即所謂的中間過渡狀態(tài)。而這種短暫的不一致不會(huì)影響到服務(wù)的可用性

          3. Eventually Consistent 最終一致性

          不要求分布式系統(tǒng)的強(qiáng)一致性,即無法實(shí)時(shí)保證系統(tǒng)中各節(jié)點(diǎn)數(shù)據(jù)都是一致的。其允許在時(shí)間上存在有一定的延遲,以實(shí)現(xiàn)系統(tǒng)中各節(jié)點(diǎn)數(shù)據(jù)最終達(dá)到一致的狀態(tài)。當(dāng)然具體地延遲時(shí)限取決于網(wǎng)絡(luò)延時(shí)、系統(tǒng)負(fù)載、數(shù)據(jù)同步方案等諸多因素

          參考文獻(xiàn)

          1. 數(shù)據(jù)密集型應(yīng)用系統(tǒng)設(shè)計(jì)(DDIA) Martin Kleppmann著
          瀏覽 37
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日日干av | 国产一级内射 | 黄色操逼网 | 天堂无码在线视频 | 国内视频精品在线播放 |