91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

web分布式系統CAP的概念是什么-創新互聯

這篇文章主要講解了“web分布式系統CAP的概念是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“web分布式系統CAP的概念是什么”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到杏花嶺網站設計與杏花嶺網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:網站制作、做網站、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、網站空間、企業郵箱。業務覆蓋杏花嶺地區。

引言

CAP是分布式系統、特別是分布式存儲領域中被討論最多的理論,“ 什么是CAP定理?”在Quora 分布式系統分類下排名 FAQ 的 No.1。CAP在程序員中也有較廣的普及,它不僅僅是“C、A、P不能同時滿足,最多只能3選2”,以下嘗試綜合各方觀點,從發展歷史、工程實踐等角度講述CAP理論。希望大家透過本文對CAP理論有更多地了解和認識。

CAP定理

CAP由 Eric Brewer)在2000年PODC會議上提出[1][2],是Eric Brewer在Inktomi[3]期間研發搜索引擎、分布式web緩存時得出的關于數據一致性(consistency)、服務可用性(availability)、分區容錯性(partition-tolerance)的猜想:

It is impossible for a web service to provide the three following guarantees : Consistency, Availability and Partition-tolerance.

該猜想在提出兩年后被證明成立[4],成為我們熟知的CAP定理:

  • 數據一致性(consistency):如果系統對一個寫操作返回成功,那么之后的讀請求都必須讀到這個新數據;如果返回失敗,那么所有讀操作都不能讀到這個數據,對調用者而言數據具有強一致性(strong consistency) (又叫原子性 atomic、線性一致性 linearizable consistency)[5]

  • 服務可用性(availability):所有讀寫請求在一定時間內得到響應,可終止、不會一直等待

  • 分區容錯性(partition-tolerance):在網絡分區的情況下,被分隔的節點仍能正常對外服務

在某時刻如果滿足AP,分隔的節點同時對外服務但不能相互通信,將導致狀態不一致,即不能滿足C;如果滿足CP,網絡分區的情況下為達成C,請求只能一直等待,即不滿足A;如果要滿足CA,在一定時間內要達到節點狀態一致,要求不能出現網絡分區,則不能滿足P。

C、A、P三者最多只能滿足其中兩個,和FLP定理一樣,CAP定理也指示了一個不可達的結果(impossibility result)。

web分布式系統CAP的概念是什么

CAP的工程啟示

CAP理論提出7、8年后,NoSql圈將CAP理論當作對抗傳統關系型數據庫的依據、闡明自己放寬對數據一致性(consistency)要求的正確性[6],隨后引起了大范圍關于CAP理論的討論。

CAP理論看似給我們出了一道3選2的選擇題,但在工程實踐中存在很多現實限制條件,需要我們做更多地考量與權衡,避免進入CAP認識誤區[7]

1、關于 P 的理解

Partition字面意思是網絡分區,即因網絡因素將系統分隔為多個單獨的部分,有人可能會說,網絡分區的情況發生概率非常小啊,是不是不用考慮P,保證CA就好[8]。要理解P,我們看回CAP證明[4]中P的定義:

In order to model partition tolerance, the network will be allowed to lose arbitrarily many messages sent from one node to another.

網絡分區的情況符合該定義,網絡丟包的情況也符合以上定義,另外節點宕機,其他節點發往宕機節點的包也將丟失,這種情況同樣符合定義。現實情況下我們面對的是一個不可靠的網絡、有一定概率宕機的設備,這兩個因素都會導致Partition,因而分布式系統實現中 P 是一個必須項,而不是可選項[9][10]

對于分布式系統工程實踐,CAP理論更合適的描述是:在滿足分區容錯的前提下,沒有算法能同時滿足數據一致性和服務可用性[11]

In a network subject to communication failures, it is impossible for any web service to implement an atomic read/write shared memory that guarantees a response to every request.

2、CA非0/1的選擇

P 是必選項,那3選2的選擇題不就變成數據一致性(consistency)、服務可用性(availability) 2選1?工程實踐中一致性有不同程度,可用性也有不同等級,在保證分區容錯性的前提下,放寬約束后可以兼顧一致性和可用性,兩者不是非此即彼[12]

web分布式系統CAP的概念是什么

CAP定理證明中的一致性指強一致性,強一致性要求多節點組成的被調要能像單節點一樣運作、操作具備原子性,數據在時間、時序上都有要求。如果放寬這些要求,還有其他一致性類型:

  • 序列一致性(sequential consistency)[13]:不要求時序一致,A操作先于B操作,在B操作后如果所有調用端讀操作得到A操作的結果,滿足序列一致性

  • 最終一致性(eventual consistency)[14]:放寬對時間的要求,在被調完成操作響應后的某個時間點,被調多個節點的數據最終達成一致

可用性在CAP定理里指所有讀寫操作必須要能終止,實際應用中從主調、被調兩個不同的視角,可用性具有不同的含義。當P(網絡分區)出現時,主調可以只支持讀操作,通過犧牲部分可用性達成數據一致。

工程實踐中,較常見的做法是通過異步拷貝副本(asynchronous replication)、quorum/NRW,實現在調用端看來數據強一致、被調端最終一致,在調用端看來服務可用、被調端允許部分節點不可用(或被網絡分隔)的效果[15]

3、跳出CAP

CAP理論對實現分布式系統具有指導意義,但CAP理論并沒有涵蓋分布式工程實踐中的所有重要因素。

例如延時(latency),它是衡量系統可用性、與用戶體驗直接相關的一項重要指標[16]。CAP理論中的可用性要求操作能終止、不無休止地進行,除此之外,我們還關心到底需要多長時間能結束操作,這就是延時,它值得我們設計、實現分布式系統時單列出來考慮。

延時與數據一致性也是一對“冤家”,如果要達到強一致性、多個副本數據一致,必然增加延時。加上延時的考量,我們得到一個CAP理論的修改版本PACELC[17]:如果出現P(網絡分區),如何在A(服務可用性)、C(數據一致性)之間選擇;否則,如何在L(延時)、C(數據一致性)之間選擇。

感謝各位的閱讀,以上就是“web分布式系統CAP的概念是什么”的內容了,經過本文的學習后,相信大家對web分布式系統CAP的概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!


當前文章:web分布式系統CAP的概念是什么-創新互聯
文章轉載:http://www.yuzhuanjia.cn/article/dphdos.html
主站蜘蛛池模板: 91精品国偷自产在线电影 | 午夜高清精品一区二区三区 | 国产91精品一区二区麻豆观看 | 午夜看片必备 | 99久久精品费精品国产红杏 | 91久久香蕉国产线看 | 97无码成人永久免费视频软件 | A片色情内射无码久久 | 国产av1插花菊综合网 | av无码国产精品性色aⅴ | 国产91在线看片 | 91精品国产91久久久久久吃药 | 91探花精品偷拍在线播放 | 国产爆乳无码视频在 | 丰满少妇a∨一区二区 | 午夜伦4480yy妇 | 91人妻人人| 午夜精品久久久久久久99热蜜桃 | 91大神精品视频动漫在线观看 | 丰满多毛少妇做爰视 | av成人午夜无码一区二区 | 丰满人妻中伦妇伦精品app | av成人免费在线播放 | 91大神大战高跟丝袜美女 | 国产爆乳福利片在线手机观看 | 日韩av高清在线观看播放 | av收藏夹 | 午夜激情| 福利片福利一区二区三区 | 成人日日射视频 | 91精品国产情侣高潮露脸清 | 高清无码爱爱免费视频 | 91不卡| 国产va免费视频一区二区三区 | 午夜亚洲国产精品福利 | 午夜性福利 | av无码高潮喷水[烽火戏诸侯] | av性爱在线观看网站 | av色伊人久久综合一区二区 | 国产成a| 波多野结衣高清一 |