您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“BASE理論是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“BASE理論是什么”吧!
BASE理論是Basically Available(基本可用),Soft State(軟狀態(tài))和Eventually Consistent(最終一致性)三個短語的縮寫。BASE 理論是對 CAP 中一致性和可用性權(quán)衡的結(jié)果,其核心思想是:既是無法做到強一致性(Strong consistency),但每個應(yīng)用都可以根據(jù)自身的業(yè)務(wù)特點,采用適當?shù)姆绞絹硎瓜到y(tǒng)達到最終一致性(Eventual consistency),BASE理論是CAP理論中AP的延伸。
BASE理論它的核心就是基本可用(Basically Available)和最終一致性(Eventually consistent)。而軟狀態(tài)描述的是實現(xiàn)服務(wù)可用性的時候系統(tǒng)數(shù)據(jù)的一種過渡狀態(tài),也就是說不同節(jié)點間,數(shù)據(jù)副本存在短暫的不一 致。軟狀態(tài)是一種中間過渡狀態(tài)。
當分布式系統(tǒng)在出現(xiàn)不可預(yù)知的故障時,允許損失部分功能的可 用性,保障核心功能的可用性。
12306 訂票系統(tǒng)基出售不同區(qū)域的票,將訪問請求錯開,削弱請求峰值。在春運期間,深圳出發(fā)的火車票在 8 點開售,北京出發(fā)的火車票在9點開售。分布式消息隊列的一個主要功能就是削峰。
正常情況下的搜索引擎0.5秒即返回給用戶結(jié)果,而基本可用的搜索引擎可以在2秒作用返回結(jié)果。通過犧牲響應(yīng)時間的可用性,保證核心功能的運行
用小圖片來替代原始圖片,通過降低圖片的清晰度和大小,提升系統(tǒng)的處理能力。淘寶在雙十一早期會關(guān)閉購物歷史記錄查詢能力
接收到的請求放在指定的隊列中排隊處理,如果請求等 待時間超時了(假設(shè)是 100ms),這個時候直接拒絕超時請求;再比如隊列滿了之后,就 清除隊列中一定數(shù)量的排隊請求,保護系統(tǒng)不過載,實現(xiàn)系統(tǒng)的基本可用
不可能一直是軟狀態(tài),必須有個時間期限。在期限過后,應(yīng)當保證所有副本保持數(shù)據(jù)一致性,從而達到數(shù)據(jù)的最終一致性。這個時間期限取決于網(wǎng)絡(luò)延時、系統(tǒng)負載、數(shù)據(jù)復(fù)制方案設(shè)計等等因素。最終一致性分為5種:
因果一致性指的是:如果節(jié)點A在更新完某個數(shù)據(jù)后通知了節(jié)點B,那么節(jié)點B之后對該數(shù)據(jù)的訪問和修改都是基于A更新后的值。于此同時,和節(jié)點A無因果關(guān)系的節(jié)點C的數(shù)據(jù)訪問則沒有這樣的限制。
讀己之所寫指的是:節(jié)點A更新一個數(shù)據(jù)后,它自身總是能訪問到自身更新過的最新值,而不會看到舊值。其實也算一種因果一致性。
會話一致性將對系統(tǒng)數(shù)據(jù)的訪問過程框定在了一個會話當中:系統(tǒng)能保證在同一個有效的會話中實現(xiàn) “讀己之所寫” 的一致性,也就是說,執(zhí)行更新操作之后,客戶端能夠在同一個會話中始終讀取到該數(shù)據(jù)項的最新值。
單調(diào)讀一致性指的是:如果一個節(jié)點從系統(tǒng)中讀取出一個數(shù)據(jù)項的某個值后,那么系統(tǒng)對于該節(jié)點后續(xù)的任何數(shù)據(jù)訪問都不應(yīng)該返回更舊的值。
單調(diào)寫一致性指的是:一個系統(tǒng)要能夠保證來自同一個節(jié)點的寫操作被順序的執(zhí)行。
在實際的實踐中,這5種系統(tǒng)往往會結(jié)合使用,以構(gòu)建一個具有最終一致性的分布式系統(tǒng)。
實際上,不只是分布式系統(tǒng)使用最終一致性,關(guān)系型數(shù)據(jù)庫在某個功能上,也是使用最終一致性的。比如備份,數(shù)據(jù)庫的復(fù)制過程是需要時間的,這個復(fù)制過程中,業(yè)務(wù)讀取到的值就是舊的。當然,最終還是達成了數(shù)據(jù)一致性。這也算是一個最終一致性的經(jīng)典案例。幾乎所有的互聯(lián)網(wǎng)系統(tǒng)采用的都是最終一致性,只有在實在無法使用最終一致性,才使用強一致性或事務(wù),比如,對于決定系統(tǒng)運行的敏感元數(shù)據(jù),需要考慮采用強一致性,對于與錢 有關(guān)的支付系統(tǒng)或金融系統(tǒng)的數(shù)據(jù),需要考慮采用事務(wù)。
到此,相信大家對“BASE理論是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。