日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

深入淺出:分布式、CAP 和 BASE 理論

來源: 責編: 時間:2023-09-21 20:48:11 378觀看
導讀1. 引言大家好,我是小?,一個漂泊江湖多年的 985 非科班程序員,曾混跡于國企、互聯網大廠和創業公司的后臺開發攻城獅。在計算機科學領域,分布式系統是一門極具挑戰性的研究方向,也是互聯網應用中必不可少的優化實踐,而 CAP

1. 引言

大家好,我是小?,一個漂泊江湖多年的 985 非科班程序員,曾混跡于國企、互聯網大廠和創業公司的后臺開發攻城獅。HPb28資訊網——每日最新資訊28at.com

在計算機科學領域,分布式系統是一門極具挑戰性的研究方向,也是互聯網應用中必不可少的優化實踐,而 CAP 理論和 BASE 理論則是分布式系統中的兩個關鍵的概念。HPb28資訊網——每日最新資訊28at.com

今天,小?將帶大家深入淺出地探討這些概念,幫助大家更好地理解分布式系統的奧秘。HPb28資訊網——每日最新資訊28at.com

2. 什么是分布式系統

首先,讓我們來談談分布式系統。你可以將分布式系統想象成一個龐大的計算機網絡,由多個計算機或服務器節點組成,它們可能分布在不同的地理位置上。HPb28資訊網——每日最新資訊28at.com

圖片圖片HPb28資訊網——每日最新資訊28at.com

如圖所示,應用層的三個節點都發布在不同的城市。這些節點之間可以相互通信和協作,共同完成復雜的任務。HPb28資訊網——每日最新資訊28at.com

想象一下,你是一名團隊領導,有一項任務需要完成。如果你獨自一人完成,可能需要花費很長時間。HPb28資訊網——每日最新資訊28at.com

但如果你將任務分解成幾個子任務,分派給你的團隊成員,他們可以并行工作,更快地完成任務。這就是分布式系統的核心思想。HPb28資訊網——每日最新資訊28at.com

3 CAP理論

接下來,讓我們談談 CAP 理論,它是分布式系統設計中非常重要的一個原則。HPb28資訊網——每日最新資訊28at.com

CAP 是指在分布式系統中,Consistency(一致性)、Availability(可用性)和 Partition tolerance(分區容錯性)這三個基本原則。HPb28資訊網——每日最新資訊28at.com

C - 一致性(Consistency)

一致性意味著無論你從分布式系統的哪個節點讀取數據,你都會獲得相同的數據副本,它確保了數據的準確性。HPb28資訊網——每日最新資訊28at.com

在分布式系統中,廣泛的一致性分為三種,分別是強一致性、弱一致性和最終一致性。HPb28資訊網——每日最新資訊28at.com

強一致性

強一致性要求用戶在分布式系統中訪問數據時,不管是哪個節點的響應,數據都應該完全一致。HPb28資訊網——每日最新資訊28at.com

比如在訂單系統中球鞋庫存還剩 10 雙,張三剛買了一雙球鞋,數據更新完成后,接下來李四看到的球鞋數量就只有 9 雙,否則就可能會出現超賣的情況。HPb28資訊網——每日最新資訊28at.com

但這需要更多的時間和精力來協調,就像李四在買鞋的時候,必須排隊先等張三的購買動作結束后才可以繼續,效率較低。HPb28資訊網——每日最新資訊28at.com

弱一致性

弱一致性是指,在分布式系統中的數據被更新后,也允許讓后續的訪問拿到更新之前的老數據。HPb28資訊網——每日最新資訊28at.com

就像參加聚會一樣,每個人都有自己的鐘表。各自的鐘表時間可能會有點不一樣,但是這不影響大家聚在一起玩耍。HPb28資訊網——每日最新資訊28at.com

弱一致性提高了業務的效率,但有時會導致一些混亂,想象一下如果聚會人員的時間差太多,就會陷入長久的等待。HPb28資訊網——每日最新資訊28at.com

最終一致性

最終一致性是弱一致性的特殊形式,要求系統的數據更新完成,在一段時間以后,后續的所有訪問都能拿到最新的數據。HPb28資訊網——每日最新資訊28at.com

這就像朋友圈的消息傳播。當你發了一條消息,它不會立刻被所有朋友看到,但最終,每個人都會看到相同的消息。HPb28資訊網——每日最新資訊28at.com

一般的業務系統基于性價比的考量,絕大多數都是采用最終一致性作為分布式系統的設計思想。HPb28資訊網——每日最新資訊28at.com

而 CAP 理論里的一致性,則要求是強一致性。正如官方文檔中描述的那樣:All nodes see the same data at the same time,所有節點在同一時間內數據完全一致。HPb28資訊網——每日最新資訊28at.com

A - 可用性(Availability)

可用性意味著分布式系統的每個請求都應該得到響應,而且應該在有限的時間內完成。HPb28資訊網——每日最新資訊28at.com

可用性確保了系統的穩定性和可靠性,它描述的是系統能夠很好地為用戶服務,不會出現用戶操作失敗或者訪問超時的情況,影響用戶體驗。HPb28資訊網——每日最新資訊28at.com

即官方所說Reads and writes always succeed,服務在正常響應時間內一直可用。HPb28資訊網——每日最新資訊28at.com

P - 分區容錯性(Partition Tolerance)

分區容錯性是指系統能夠在網絡分區或通信故障的情況下繼續運行,也就是節點之間的網絡通信出現故障了,或者系統中的某一個節點出問題了,我們仍然需要保證業務系統可用。HPb28資訊網——每日最新資訊28at.com

即 The system continues to operate despite arbitrary message loss or failure of part of the system,分布式系統在遇到某個節點或者網絡分區故障時,仍然能夠對外提供滿足一致性或可用性的服務。HPb28資訊網——每日最新資訊28at.com

4. CAP 的特點

4.1 分區容錯的重要性

這時,有分布式基礎的同學可能就會問了,CAP 理論確實很重要,但是這三個特性似乎不能同時滿足,是吧?HPb28資訊網——每日最新資訊28at.com

沒錯,這就是 CAP 理論的核心觀點。HPb28資訊網——每日最新資訊28at.com

CAP 理論告訴我們,在一個分布式系統中,我們最多只能同時滿足其中 2 個特性,而無法同時滿足 3 個。HPb28資訊網——每日最新資訊28at.com

圖片圖片HPb28資訊網——每日最新資訊28at.com

接下來,有一個請求 1 訪問了 P1,更改了 D1 上的數據。然后又有一個請求 2 訪問了 P2,去訪問 D2 的同一份數據。HPb28資訊網——每日最新資訊28at.com

這時,我們需要權衡。HPb28資訊網——每日最新資訊28at.com

先保證一致性

如果先保證滿足一致性和分區容錯,即 CP。HPb28資訊網——每日最新資訊28at.com

這個過程很容易出現:D1 已經更新數據,但是查詢 D2 時,數據返回的還是老數據。HPb28資訊網——每日最新資訊28at.com

為了保證 D2 和 D1 數據完全一致,必須在更新 D1 數據時給 P2 上的 D2 數據上鎖,等待 D1 更新完成后再同步更新 D2。HPb28資訊網——每日最新資訊28at.com

這個過程中,鎖住的 D2 就沒法給請求 2 實時響應,也就是違背了 P2 上的可用性。HPb28資訊網——每日最新資訊28at.com

所以在滿足一致性的前提下,CAP 無法同時滿足。HPb28資訊網——每日最新資訊28at.com

先保證可用性

如果先保證滿足可用性和分區容錯,即 AP。HPb28資訊網——每日最新資訊28at.com

可用性要求 P1 和 P2 都可以實時響應,因此在 D2 剛更新完還未同步給 D1 時,兩個 DB 的數據是不一致的,也就違背了 P1 和 P2 上的數據一致性。HPb28資訊網——每日最新資訊28at.com

所以在滿足可用性的前提下,CAP 亦無法同時滿足。HPb28資訊網——每日最新資訊28at.com

4.3 CAP 如何權衡

CAP 三者不可兼得,該怎么選擇呢?一般根據我們的業務可以有以下選擇。HPb28資訊網——每日最新資訊28at.com

滿足一致性和分區容錯CP

保證分區的強一致性(C),不要求可用(A)。HPb28資訊網——每日最新資訊28at.com

相當于請求到達某個系統之前,需要等待數據完全同步以后,才會得到系統的數據響應,一般在數據需嚴格保持一致的金融系統中會使用這種模式。HPb28資訊網——每日最新資訊28at.com

滿足可用性和分區容錯AP

保證分區的可用性(A),不要求強一致性(C)。HPb28資訊網——每日最新資訊28at.com

當請求訪問某個分區的數據時,可能拿到未同步的老數據,這種模式一般只要求數據滿足最終一致性,進而保證系統響應速度和高可用。HPb28資訊網——每日最新資訊28at.com

AP 在業界使用范圍較廣,比如著名的 BASE 理論(下文會細講)。HPb28資訊網——每日最新資訊28at.com

滿足可用和一致性AC

上文已經說過,分布式系統中無法同時保證系統的強一致性(C)和可用性(A)。HPb28資訊網——每日最新資訊28at.com

這是因為分布式系統中的分區是客觀存在無法避免的,而單體系統中的數據庫可以通過事務保證數據的一致性和可用性,比如 MySQL 中事務的四大特性(原子性、一致性、隔離性和持久性,簡稱 ACID)。HPb28資訊網——每日最新資訊28at.com

5. BASE 理論

BASE 理論是當今互聯網分布式系統的實踐總結,它的核心思想在于,既然在分布式系統中實現強一致性的代價太大,那不如退而求其次。HPb28資訊網——每日最新資訊28at.com

只需要各應用分區在提供高可用服務的基礎上,盡最大能力保證數據一致性,也就是保證數據的最終一致性。HPb28資訊網——每日最新資訊28at.com

BASE 理論是 CAP 中保證分區容錯(P)的前提下,對可用性(A)和一致性(C)的權衡,它由 Basically Available(基本可用),Soft State(軟狀態),Eventually-Consistent(最終一致性)三方面構成,簡稱 BASE 理論。HPb28資訊網——每日最新資訊28at.com

分布式系統中,CAP 理論提供了一個理論框架,而 BASE 理論則提供了一種實際操作的指導原則。HPb28資訊網——每日最新資訊28at.com

5.1 基本可用

BASE 理論認為,分布式系統在面臨故障或異常情況時,可以選擇降低性能或一致性要求,以保持基本的可用性。HPb28資訊網——每日最新資訊28at.com

這意味著系統可能會出現一些短暫的不一致性,但最終會達到一致狀態。HPb28資訊網——每日最新資訊28at.com

正如一個銀行系統的系統設計,一般有功能需求和非功能需求,我們首先需要保證核心功能需求的基本可用性。HPb28資訊網——每日最新資訊28at.com

功能需求

在銀行系統里,用戶提款、轉賬等交易模塊就是核心功能,是用戶的基本需求,不能出問題。HPb28資訊網——每日最新資訊28at.com

而非核心功能可以出現異常,但需要保證在一段時間內修復。HPb28資訊網——每日最新資訊28at.com

非功能需求

非功能需求是指用戶業務不依賴的其它需求,比如性能相關的:要求用戶轉賬在 0.5 秒內完成,但是由于網絡延遲等原因,可以延遲響應至1~2 秒。HPb28資訊網——每日最新資訊28at.com

由于系統出現此類異常,從而影響了系統的高可用性,但核心流程依然可用,即基本可用性。HPb28資訊網——每日最新資訊28at.com

5.2 軟狀態

軟狀態是指系統服務可能處于中間狀態,數據在保證一致性的過程中可能延遲同步,但不會影響系統的可用性。HPb28資訊網——每日最新資訊28at.com

比如我們在購買火車票付款結束之后,就可能處在一個既沒有完全成功,也沒有失敗的中間等待狀態。用戶需要等待系統的數據完全同步以后,才會得到是否購票成功的最終狀態。HPb28資訊網——每日最新資訊28at.com

BASE 理論認識到,在分布式系統中,狀態可能會隨時間變化而軟化,而不是立即達到一致狀態。HPb28資訊網——每日最新資訊28at.com

這意味著我們需要容忍一些狀態的不確定性,比如我們在火車票候補排隊時是不確定是否可以候補成功的。HPb28資訊網——每日最新資訊28at.com

5.3 最終一致性

最終一致性是 BASE 理論的核心思想。它指出,分布式系統可以在一段時間內保持不一致狀態,但最終會收斂到一致狀態。HPb28資訊網——每日最新資訊28at.com

它不像強一致性那樣,需要分區數據保證實時一致,導致系統數據的同步代價過高。也不像弱一致性那樣,數據更新后不保證數據一致,導致后續的請求只能訪問到老數據。HPb28資訊網——每日最新資訊28at.com

當前業界的分布式系統,甚至關系數據庫系統的數據,大都是用最終一致性實現的。比如 MySQL 的主從備份,就是在一段時間內通過 binlog 日志和監聽線程讓從庫和主庫的數據保持最終一致。HPb28資訊網——每日最新資訊28at.com

總的來說,BASE 理論其實就是犧牲了各節點數據的強一致性,允許不同節點的數據在一段時間內不一致,來獲得更高的性能和高可用性。HPb28資訊網——每日最新資訊28at.com

在單體系統中,數據庫還能通過 ACID 來實現事務的強一致性,但分布式事務需要考慮節點通信的延遲和網絡故障。HPb28資訊網——每日最新資訊28at.com

所以,BASE 理論是我們在實際的分布式系統中經常使用的方案。HPb28資訊網——每日最新資訊28at.com

HPb28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-10898-0.html深入淺出:分布式、CAP 和 BASE 理論

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 這種方法可以解決開發中的重復“造輪子”

下一篇: 前后端分離項目必備——自動生成API文檔神器Swagger

標簽:
  • 熱門焦點
  • 小米平板5 Pro 12.4簡評:多專多能 兼顧影音娛樂的大屏利器

    疫情帶來了網課,網課盤活了安卓平板,安卓平板市場雖然中途停滯了幾年,但好的一點就是停滯的這幾年行業又有了新的發展方向,例如超窄邊框、高刷新率、多攝鏡頭組合等,這就讓安卓
  • 7月安卓手機性價比榜:努比亞+紅魔兩款新機入榜

    7月登場的新機有努比亞Z50S Pro和紅魔8S Pro,除了三星之外目前唯二的兩款搭載超頻版驍龍8Gen2處理器的產品,而且努比亞和紅魔也一貫有著不錯的性價比,所以在本次的性價比榜單
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力。  CRM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規模如今超過580
  • 一個注解實現接口冪等,這樣才優雅!

    場景碼猿慢病云管理系統中其實高并發的場景不是很多,沒有必要每個接口都去考慮并發高的場景,比如添加住院患者的這個接口,具體的業務代碼就不貼了,業務偽代碼如下:圖片上述代碼有
  • 零售大模型“干中學”,攀爬數字化珠峰

    文/侯煜編輯/cc來源/華爾街科技眼對于絕大多數登山愛好者而言,攀爬珠穆朗瑪峰可謂終極目標。攀登珠峰的商業路線有兩條,一是尼泊爾境內的南坡路線,一是中國境內的北坡路線。相
  • 得物寵物生意「狂飆」,發力“它經濟”

    作者|花花小萌主近日,得物宣布正式上線寵物鑒別,通過得物App內的“在線鑒別”,可找到鑒別寵物的選項。通過上傳自家寵物的部位細節,就能收獲擁有專業資質認證的得物鑒
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • “買真退假” 這種“羊毛”不能薅

    □ 法治日報 記者 王春   □ 本報通訊員 胡佳麗  2020年初,還在上大學的小東加入了一個大學生兼職QQ群。群主“七王”在群里介紹一些刷單賺
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美精品精品一区| 国产免费观看久久黄| 欧美在线不卡视频| 欧美一级黄色网| 欧美一区二区在线免费播放| 久久久亚洲成人| 欧美极品aⅴ影院| 国产精品成人一区二区| 国产亚洲永久域名| 亚洲激情另类| 亚洲视频一区在线| 久久精品在线播放| 欧美精品在线免费观看| 国产精品一二三视频| 亚洲电影毛片| 亚洲香蕉网站| 久久―日本道色综合久久| 欧美精品一区三区| 国产日韩一区二区三区在线| 91久久精品国产91久久| 亚洲欧美国产制服动漫| 免费看av成人| 国产精品一区二区三区四区 | 老司机精品视频网站| 欧美日韩大片一区二区三区| 国产精品视频一二| 最新亚洲视频| 欧美一区二区大片| 欧美激情精品久久久久久久变态 | 欧美三级电影大全| 激情另类综合| 亚洲综合欧美日韩| 欧美电影电视剧在线观看| 国产精品日韩欧美一区二区三区 | 一本色道久久| 久久久久国产一区二区三区四区| 欧美日韩精品久久久| 好吊日精品视频| 亚洲影院污污.| 欧美—级高清免费播放| 依依成人综合视频| 午夜精品久久久久99热蜜桃导演| 欧美二区视频| 激情久久五月| 欧美一级成年大片在线观看| 欧美日韩精品一区| 亚洲国产一区二区a毛片| 久久gogo国模裸体人体| 国产精品激情| 一本久久综合亚洲鲁鲁| 欧美电影电视剧在线观看| 狠狠色丁香久久婷婷综合_中| 亚洲自拍高清| 欧美日韩视频在线| 亚洲人成在线影院| 久久中文精品| 国内精品亚洲| 欧美专区在线播放| 国产伦精品一区二区三区四区免费 | 久久久久久**毛片大全| 国产精品羞羞答答| 一区二区三区四区精品| 欧美激情自拍| 亚洲欧洲日本专区| 免费高清在线一区| 伊人久久婷婷色综合98网| 久久国产精品99国产精| 国产欧美高清| 午夜精品久久一牛影视| 国产精品免费区二区三区观看| 一区二区欧美在线观看| 欧美日韩美女| 一卡二卡3卡四卡高清精品视频| 欧美成人免费va影院高清| 亚洲大胆视频| 免费观看成人www动漫视频| 黑人巨大精品欧美黑白配亚洲| 久久超碰97人人做人人爱| 国产精品一区二区在线观看不卡| 亚洲在线国产日韩欧美| 国产精品日韩欧美一区| 欧美亚洲综合网| 国产欧美一区二区精品仙草咪| 午夜日韩电影| 国产一区二区中文字幕免费看| 久久爱另类一区二区小说| 国产一区二区成人久久免费影院| 欧美一级一区| 国模大胆一区二区三区| 久久精品盗摄| 在线观看久久av| 欧美成人综合| 99精品国产一区二区青青牛奶| 欧美日韩一区二区三区免费看| 一区二区三区欧美在线| 国产精品久久午夜| 欧美在线啊v| 黄色综合网站| 免费在线欧美视频| 99国产精品国产精品久久| 国产精品高潮呻吟| 香蕉久久夜色精品| 韩国成人福利片在线播放| 美日韩精品视频| 日韩视频第一页| 国产精品久久久久久久久久尿 | 国产亚洲毛片| 免费日韩av电影| av成人国产| 国产精品区免费视频| 久久av资源网| 亚洲国产精品一区二区尤物区| 欧美精品在线观看一区二区| 亚洲午夜激情| 国产一区二区三区在线观看网站| 久久亚洲春色中文字幕久久久| 亚洲高清一区二区三区| 欧美日韩国产精品专区| 亚洲欧美在线网| 精品二区久久| 欧美午夜视频在线观看| 欧美在线视屏| 亚洲区欧美区| 国产精品入口福利| 狂野欧美一区| 亚洲一区二区日本| 激情综合自拍| 欧美日韩国产一中文字不卡| 午夜精品一区二区三区在线视| 一色屋精品视频在线观看网站| 欧美精品久久99| 性久久久久久久久| 91久久夜色精品国产九色| 国产精品人成在线观看免费| 久久一二三区| 亚洲一区日韩在线| 亚洲成人资源网| 国产精品久久久久久久第一福利| 久久综合九色综合欧美就去吻| 一本色道久久综合狠狠躁篇的优点| 国产美女精品人人做人人爽| 欧美国产日本在线| 欧美与欧洲交xxxx免费观看| 亚洲精品欧美一区二区三区| 国产日韩一区二区| 欧美久久成人| 久久亚洲捆绑美女| 亚洲男人的天堂在线观看| 亚洲国产视频一区| 国产欧美一区二区三区在线看蜜臀 | 亚洲巨乳在线| 国产一区二区三区网站 | 国产精品亚洲а∨天堂免在线| 免费观看国产成人| 欧美一区二区三区免费视| 亚洲伦理在线| 激情丁香综合| 国产日韩欧美在线| 欧美色图天堂网| 欧美成人自拍| 久久国产精品99久久久久久老狼 | 日韩一级成人av| 伊人久久大香线蕉av超碰演员| 欧美性猛交xxxx乱大交退制版| 模特精品在线| 久久精品国产一区二区三| 亚洲午夜精品久久| 亚洲精品乱码| 在线免费观看成人网| 国产亚洲欧美日韩精品| 国产精品久久国产精品99gif| 欧美激情视频一区二区三区免费| 久久久久网站| 久久岛国电影| 欧美一区二区三区日韩视频| 亚洲手机成人高清视频| 亚洲另类一区二区| 91久久精品日日躁夜夜躁欧美| 韩国精品一区二区三区| 国产欧美日韩一区二区三区在线| 欧美三级中文字幕在线观看| 欧美黄色免费| 欧美成年人网| 免费观看一级特黄欧美大片| 久久人人97超碰精品888| 久久国产88| 久久精品亚洲一区二区三区浴池 | 欧美视频在线观看 亚洲欧| 欧美精品日韩一本| 欧美成人dvd在线视频| 另类av一区二区| 久久伊伊香蕉| 久久先锋影音| 久久女同互慰一区二区三区| 久久久999精品| 久久精品动漫| 久久精品国产免费| 羞羞答答国产精品www一本 | 亚洲欧美成人精品| 亚洲综合第一页| 亚洲欧美日韩在线| 先锋影音久久| 欧美在线综合视频| 久久精品五月婷婷|