亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

系統(tǒng)架構(gòu)師知識:什么是CAP

時間:2024-07-21 01:56:33 系統(tǒng)架構(gòu)師 我要投稿
  • 相關推薦

系統(tǒng)架構(gòu)師知識:什么是CAP

  CAP、BASE理論是當前在互聯(lián)網(wǎng)領域非常流行的NoSQL的理論基礎。那么什么是CAP呢?我們一起來了解一下!

系統(tǒng)架構(gòu)師知識:什么是CAP

  1、什么是CAP

  著名的CAP理論是由Brewer提出的,所謂CAP,即一致性(Consistency)、可用性(Availability)和分區(qū)容錯性(Partition Tolerance)。

  (1)、Consistency(一致性):更新操作成功并返回客戶端完成后,分布式的所有節(jié)點在同一時間的數(shù)據(jù)完全一致(All nodes see the same data at the same time)。

  這里的一致性,一定要和傳統(tǒng)的RDBMS中的事務一致性區(qū)分開。

  在傳統(tǒng)的RDBMS中,事務具有ACID4個屬性,即原子性(Atomicity),一致性(Consistency),隔離性(Isolation)和持久性(Durable)。

  ACID是關系型數(shù)據(jù)庫的最基本原則,遵循ACID原則強調(diào)一致性,對成本要求很高,對性能影響很大。

  a、原子性(Atomicity):事務是一個原子操作單元,其對數(shù)據(jù)的修改,要么全都執(zhí)行,要么全都不執(zhí)行。

  b、一致性(Consistency):在事務開始和完成時,數(shù)據(jù)都必須保持一致狀態(tài)。這意味著所有相關的數(shù)據(jù)規(guī)則都必須應用于事務的修改,以保持數(shù)據(jù)的完整性;事務結(jié)束時,所有的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如B樹索引或雙向鏈表)也都必須是正確的。

  c、隔離性(Isolation):數(shù)據(jù)庫系統(tǒng)提供一定的隔離機制,保證事務在不受外部并發(fā)操作影響的“獨立”環(huán)境執(zhí)行。這意味著事務處理過程中的中間狀態(tài)對外部是不可見的,反之亦然。

  d、持久性(Durability):事務完成之后,它對于數(shù)據(jù)的修改是永久性的,即使出現(xiàn)系統(tǒng)故障也能夠保持。

  MIT的Gilbert和Lynch在證明CAP的過程中改變了Consistency的概念,也就是將Consistency轉(zhuǎn)化為Atomic。Gilbert認為這里所說的Consistency其實就是數(shù)據(jù)庫系統(tǒng)中提到的ACID的另一種表述:一個用戶請求要么成功、要么失敗,不能處于中間狀態(tài)(Atomic);一旦一個事務完成,將來的所有事務都必須基于這個完成后的狀態(tài)(Consistent);未完成的事務不會互相影響(Isolated);一旦一個事務完成,就是持久的(Durable)。

  (2)、Availability(可用性):讀和寫操作都能成功(Reads and writes always succeed)。

  可用性是說服務能一直保證是可用的狀態(tài),當用戶發(fā)出一個請求,服務能在有限時間內(nèi)返回結(jié)果,所有的請求都能“成功”拿到對應的響應。

  (3)、Partition Tolerance(分區(qū)容錯性):在出現(xiàn)網(wǎng)絡故障導致分布式節(jié)點間不能通信時,系統(tǒng)能否繼續(xù)服務(The system continues to operate despite arbitrary message loss or failure of part of the system)。

  直觀感受就是系統(tǒng)中節(jié)點crash或者網(wǎng)絡分片都不應該導致一個分布式系統(tǒng)停止服務。

  2、如何證明CAP?

  CAP的證明很簡單:

  假設兩個節(jié)點集{G1, G2},由于網(wǎng)絡分片導致G1和G2之間所有的通訊都斷開了。

  如果在G1中寫,在G2中讀剛寫的數(shù)據(jù), G2中返回的值不可能是剛剛在G1中的寫值。

  對于分布式數(shù)據(jù)系統(tǒng)而言,分區(qū)容錯性(Partition Tolerance)是基本要求,否則就不稱其為分布式系統(tǒng)。

  由于可用性(Availability)的要求,G2一定要返回這次讀請求,因為分區(qū)容錯性(Partition Tolerance)的存在,導致一致性(Consistency)一定是不可滿足的。

  CAP理論告訴我們,一個分布式系統(tǒng)不可能同時滿足一致性,可用性和分區(qū)容錯性這三個需求,三個要素中最多只能同時滿足兩點。

  顯然,任何橫向擴展策略都要依賴于數(shù)據(jù)分區(qū),軟件架構(gòu)通常必須在一致性(Consistency)與可用性(Availability)之間做出選擇。

  3、CAP的延伸BASE

  BASE是Basically Available、Soft state、Eventually consistent三個詞組的簡寫,是對CAP中C 和A的延伸。

  (1)Basically Available:基本可用,即數(shù)據(jù)一致性能夠基本滿足二八定律,即至少保證80%一致性,剩下20%就不要過于糾結(jié)。

  (2)Soft-state:軟狀態(tài)/柔性事務,即狀態(tài)可以有一段時間的不同步。

  在不過分追求數(shù)據(jù)一致性(強一致性)前提下可考慮軟狀態(tài)策略,例如把數(shù)據(jù)(State)緩存在客戶端一段時間,在一段時間過后,如果客戶端沒有再次刷新狀態(tài)的請求的話,就清除此緩存(Soft),這個狀態(tài)就會消失。

  (3)Eventual consistency:最終一致性,即在某一段短時間內(nèi)允許數(shù)據(jù)不一致,但經(jīng)過一段較長時間(這里的一段時間多數(shù)是業(yè)務能夠容忍的延遲),等所有節(jié)點上數(shù)據(jù)的拷貝都整合在一起的時候,數(shù)據(jù)會最終達到完全一致。我用自己的經(jīng)驗和親身實踐證明,最終一致性貫穿著互聯(lián)網(wǎng)尤其是電子商務類型的主要應用的生命周期。

  BASE來自于互聯(lián)網(wǎng)的電子商務領域的實踐,它是基于CAP理論逐步演化而來,核心思想是即便不能達到強一致性(Strong Consistency),但可以根據(jù)應用特點采用適當?shù)姆绞絹磉_到最終一致性(Eventual consistency)的效果。BASE是反ACID的,它完全不同于ACID模型,犧牲強一致性,獲得基本可用性和柔性可靠性并要求達到最終一致性。

【系統(tǒng)架構(gòu)師知識:什么是CAP】相關文章:

什么是系統(tǒng)架構(gòu)師-如何成為系統(tǒng)架構(gòu)師08-10

2017系統(tǒng)架構(gòu)師知識整理08-28

系統(tǒng)架構(gòu)師的知識和職責10-27

系統(tǒng)架構(gòu)師知識:高可用系統(tǒng)設計09-19

系統(tǒng)架構(gòu)師知識:負載均衡08-18

系統(tǒng)架構(gòu)師是做什么的05-24

系統(tǒng)架構(gòu)師要什么條件09-12

系統(tǒng)架構(gòu)師性能知識整理10-28

系統(tǒng)架構(gòu)師是干什么的08-23

系統(tǒng)架構(gòu)師的崗位職責是什么07-08

主站蜘蛛池模板: 国产色无码精品视频国产| 国产福利微拍精品一区二区| 97超级碰碰人妻中文字幕| 女人高潮抽搐喷液30分钟视频| 国产午夜福利片在线观看| 日韩欧美在线综合网另类| 韩国理伦片一区二区三区在线播放 | 91美女视频在线观看| 999精品在线视频| 国产在线观看无码的免费网站| 亚洲国产日韩欧美一区二区三区| 九九99热久久精品在线6| 思思re热免费精品视频66| 欧美日韩va| 色噜噜噜亚洲男人的天堂| 亚洲sm另类一区二区三区| 亚洲人成人无码www影院| 中文字幕亚洲精品2页| 三级中文字幕永久在线视频| 亚洲仺av香蕉久久| 中文字幕一精品亚洲无线一区| 呦女亚洲一区精品| 亚洲中文无码精品卡通| 亚洲欧洲日产国产av无码| 国产精品任我爽爆在线播放| 亚洲bt欧美bt精品| 欧美和黑人xxxx猛交视频| 黄a无码片内射无码视频| 一级有乳奶水毛片免费| 窝窝午夜福利无码电影| 人人妻人人超人人| 免费国产黄线在线播放| 国产精品久久人妻无码网站蜜臀 | 欧美日产亚洲国产精品| 一本精品中文字幕在线| 国产精品久久久久9999吃药| 毛片手机在线看| 日韩人妻无码精品一专区 | 久热在线播放中文字幕| 久久综合亚洲鲁鲁九月天| 国产成人92精品午夜福利|