• <optgroup id="qksf7"><xmp id="qksf7"><optgroup id="qksf7"></optgroup>
      
      
      <rp id="qksf7"><acronym id="qksf7"></acronym></rp><tbody id="qksf7"><track id="qksf7"><dl id="qksf7"></dl></track></tbody>
      首頁 > 學院 > 綜合知識 > 正文

      分布式系統CAP的原理簡介

      2022-08-01 18:56:50
      字體:
      來源:轉載
      供稿:網友
             CAP原理中,有三個要素:
            一致性(Consistency)
            可用性(Availability)
       
             Consistency 一致性
            一致性指“all nodes see the same data at the same time”,即更新操作成功并返回客戶端完成后,所有節點在同一時間的數據完全一致。分布式的一致性對于一致性,可以分為從客戶端和服務端兩個不同的視角。從客戶端來看,一致性主要指的是多并發訪問時更新過的數據如何獲取的問題。從服務端來看,則是更新如何復制分布到整個系統,以保證數據最終一致。一致性是因為有并發讀寫才有的問題,因此在理解一致性的問題時,一定要注意結合考慮并發讀寫的場景。
      從客戶端角度,多進程并發訪問時,更新過的數據在不同進程如何獲取的不同策略,決定了不同的一致性。對于關系型數據庫,要求更新過的數據能被后續的訪問都能看到,這是強一致性。
      如果能容忍后續的部分或者全部訪問不到,則是弱一致性。如果經過一段時間后要求能訪問到更新后的數據,則是最終一致性。
       
      Availability 可用性
      可用性指“Reads and writes always succeed”,即服務一直可用,而且是正常響應時間。
      對于一個可用性的分布式系統,每一個非故障的節點必須對每一個請求作出響應。也就是,該系統使用的任何算法必須最終終止。當同時要求分區容忍性時,這是一個很強的定義:即使是嚴重的網絡錯誤,每個請求必須終止。
      好的可用性主要是指系統能夠很好的為用戶服務,不出現用戶操作失敗或者訪問超時等用戶體驗不好的情況??捎眯酝ǔG闆r下可用性和分布式數據冗余,負載均衡等有著很大的關聯。
       
      Partition Tolerance分區容錯性
      分區容錯性指“the system continues to operate despite arbitrary message loss or failure of part of the system”,即分布式系統在遇到某節點或網絡分區故障的時候,仍然能夠對外提供滿足一致性和可用性的服務。
      分區容錯性和擴展性緊密相關。在分布式應用中,可能因為一些分布式的原因導致系統無法正常運轉。好的分區容錯性要求能夠使應用雖然是一個分布式系統,而看上去卻好像是在一個可以運轉正常的整體。比如現在的分布式系統中有某一個或者幾個機器宕掉了,其他剩下的機器還能夠正常運轉滿足系統需求,或者是機器之間有網絡異常,將分布式系統分隔未獨立的幾個部分,各個部分還能維持分布式系統的運作,這樣就具有好的分區容錯性。

      (編輯:錯新網)

      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      一级特黄大片欧美久久久久_一本一道久久综合狠狠老_JLZZ日本人年轻护士_欧美男男作爱VIDEOS可播放