原創(chuàng)文章,轉(zhuǎn)載請保留或注明出處:http://www.reibang.com/p/e143b2ea1d16
目錄
1 概述
2 CAP定律
3 BASE理論
1 概述
隨著傳統(tǒng)互聯(lián)網(wǎng)矮烹、傳統(tǒng)行業(yè)的崛起落剪, 產(chǎn)品日新月異項目更新迭代,傳統(tǒng)架構(gòu)演變?yōu)榉植际郊軜?gòu),分布式架構(gòu)演變?yōu)镾OA架構(gòu),SOA架構(gòu)又孵化出微服務(wù)架構(gòu),本地事務(wù)已經(jīng)無法滿足分布式的要求洞坑,由此分布式事務(wù)的問題誕生了。分布式事務(wù)一直是技術(shù)人員的心中刺蝇率,目前分布式事務(wù)存在兩大理論依據(jù)迟杂,這是一個架構(gòu)師必須掌握的知識點刽沾。2 CAP定律
CAP定律包括一致性(Consistency)、可用性(Availability)排拷、分區(qū)容錯性(Partition tolerance)
一致性C:
在分布式系統(tǒng)中的所有數(shù)據(jù)備份侧漓,在同一時刻所有的節(jié)點訪問同一份最新的數(shù)據(jù)副本。
可用性A:
在集群中一部分服務(wù)器宕機监氢,集群中的其他服務(wù)器能夠繼續(xù)給客戶端提供響應(yīng)服務(wù)布蔗,其他服務(wù)器不會受到故障服務(wù)器的影響,保證數(shù)據(jù)更新具備高可用浪腐,即客服端一直保持可用狀態(tài)纵揍,客戶端發(fā)起的每個請求都有正常的響應(yīng)時間,不會出現(xiàn)一直等待议街。
分區(qū)容錯性P:
以實際效果而言泽谨,分區(qū)相當于對通信的時限要求。系統(tǒng)如果不能在時限內(nèi)達成數(shù)據(jù)一致性特漩,就意味著發(fā)生了分區(qū)的情況隔盛,必須就當前操作在C和A之間做出選擇,當某個服務(wù)器發(fā)生故障拾稳,也能夠保證數(shù)據(jù)源的一致性。
2 BASE理論
BASE理論是Basically Available(基本可用)腊脱、Soft State(軟狀態(tài))和Eventually consistent(最終一致性)三個短語的縮寫访得。BASE理論是對CAP中一致性和可用性權(quán)衡的結(jié)果,其來源于對大規(guī)纳掳迹互聯(lián)網(wǎng)系統(tǒng)分布式實踐的總結(jié)悍抑,是基于CAP定律逐漸演化而來。
BASE理論的核心思想:
即是無法做到強一致性杜耙,但每個應(yīng)用都可以根據(jù)自身業(yè)務(wù)特點搜骡,采用適當?shù)姆绞絹硎瓜到y(tǒng)達到最終一致性。
基本可用Basically Available:
基本可用是指分布式系統(tǒng)在出現(xiàn)不可預(yù)知的故障時佑女,允許損失部分的可用性记靡,以滿足基本可,如:
a) 響應(yīng)時間上的損失团驱。正常情況下摸吠,一個查詢請求在0.5秒內(nèi)返回給客戶端響應(yīng)的查詢結(jié)果,但由于服務(wù)器出現(xiàn)故障嚎花,查詢結(jié)果的響應(yīng)時間增加了1-2秒
b) 系統(tǒng)功能上的損失寸痢。正常情況下,在一個電商平臺消費幾乎能夠順利完成每一筆訂單紊选,但在電商平臺搞活動期間會出現(xiàn)高峰購物啼止,由于消費者的購物行為暴增道逗,為了保證電商平臺系統(tǒng)的穩(wěn)定性,部分消費者可能會被引導到一個服務(wù)降級夜頁面(如出現(xiàn)排隊中献烦,請耐心等待等提示頁面)
軟狀態(tài)Soft State:
軟狀態(tài)指允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài)滓窍,并認為該中間狀態(tài)的存在不會影響整個系統(tǒng)的可用性,即允許系統(tǒng)在不同節(jié)點的數(shù)據(jù)副本之間進行數(shù)據(jù)同步的過程存在延時仿荆。
最終一致性Eventually consistent:
最終一致性強調(diào)的是所有的數(shù)據(jù)副本贰您,在經(jīng)過一段時間的同步之后,最終都能夠達到一個一致的狀態(tài)拢操。因此锦亦,最終一致性的本質(zhì)是需要系統(tǒng)保證最終數(shù)據(jù)能夠達到一致,而不需要實時保證系統(tǒng)數(shù)據(jù)的強一致性令境。