自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么說,CAP是分布式理論的基礎(chǔ)?

開發(fā) 開發(fā)工具 前端 分布式
分布式系統(tǒng)非常關(guān)注三個指標(biāo):數(shù)據(jù)一致性、系統(tǒng)可用性和節(jié)點連通性與擴展性,這三個指標(biāo)的關(guān)系如何,今天來聊一聊分布式理論的基礎(chǔ)CAP。

分布式系統(tǒng)非常關(guān)注三個指標(biāo):

  • 數(shù)據(jù)一致性;
  • 系統(tǒng)可用性;
  • 節(jié)點連通性與擴展性;

這三個指標(biāo)的關(guān)系如何,今天來聊一聊分布式理論的基礎(chǔ)CAP。

[[357544]]

什么是數(shù)據(jù)一致性?

數(shù)據(jù)“強一致性”,是希望系統(tǒng)只讀到最新寫入的數(shù)據(jù),例如:通過單點串行化的方式,就能夠達(dá)到這個效果。

關(guān)于session一致性,DB主從一致性,DB雙主一致性,DB與Cache一致性,數(shù)據(jù)冗余一致性,消息時序一致性,分布式事務(wù)一致性,庫存扣減一致性,都存在類似的一致性問題。

什么可用性?

如果系統(tǒng)每運行100個時間單位,會有1個時間單位無法提供服務(wù),則說系統(tǒng)的可用性是99%。

可用性和可靠性是比較容易搞混的兩個指標(biāo),以一臺取款機為例:

  • 正確的輸入,能夠取到正確的錢,表示系統(tǒng)可靠;
  • 取款機7*24小時提供服務(wù),表示系統(tǒng)可用;

保證系統(tǒng)高可用的方法是:

  • 冗余;
  • 故障自動轉(zhuǎn)移;

什么是連通性與擴展性?

分布式系統(tǒng),往往有多個節(jié)點,每個節(jié)點之間,都不是完全獨立的,需要相互通信,當(dāng)發(fā)生節(jié)點無法聯(lián)通時,數(shù)據(jù)是否還能保持一致,系統(tǒng)要如何進(jìn)行容錯處理,是需要考慮的。

同時,連通性和擴展性緊密相關(guān),想要加機器擴展性能,必須有良好的連通性。當(dāng)一個節(jié)點脫離系統(tǒng),系統(tǒng)就出現(xiàn)問題,往往意味著系統(tǒng)是無法擴展的。

什么是CAP定理?

CAP定理,是對上述分布式系統(tǒng)的三個特性,進(jìn)行了歸納:

  • 一致性(Consistency);
  • 可用性(Availability);
  • 分區(qū)容忍性(Partition Tolerance);

并且,定理指出,在系統(tǒng)實現(xiàn)時,這三者最多兼顧兩點。

一致性,可用性,多節(jié)點擴展性三者只能取其二,既然加鎖已經(jīng)加上,常見的最佳工程架構(gòu)實踐是什么呢?

互聯(lián)網(wǎng),最常見的實踐是這樣的:

  • 節(jié)點連通性,多節(jié)點擴展性,連通性異常的處理必須保證,滿足P;
  • 一致性C與可用性A一般二選一;
  • 選擇一致性C,舉例:傳統(tǒng)單庫水平切分,就是這類選型的典型;
  • 選擇可用性A,舉例:雙主庫同步高可用,就是這類選型的典型;

強一致很難怎么辦?

單點串行化,雖然能保證“強一致”,但對系統(tǒng)的并發(fā)性能,以及高可用有較大影響,互聯(lián)網(wǎng)的玩法,更多的是“最終一致性”,短期內(nèi)未必讀到最新的數(shù)據(jù),但在一個可接受的時間窗口之后,能夠讀到最新的數(shù)據(jù)。

例如:數(shù)據(jù)庫主從同步,從庫上的數(shù)據(jù),就是一個最終的一致。

總結(jié)

  • CAP可以理解為一致性,可用性,聯(lián)通與擴展性;
  • CAP三者只能取其二;
  • 最常見的實踐是AP+最終一致性;

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

 

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2021-06-02 22:16:56

框架CAPBASE

2024-11-18 17:09:19

2025-04-18 12:08:19

2021-03-11 07:27:15

CAPBASE分布式

2020-10-16 06:36:57

CapBase定理

2023-09-21 10:47:29

分布式CAPBASE

2024-03-25 14:31:45

2024-06-26 12:45:00

2018-06-08 09:10:49

CAPACELC存儲系統(tǒng)

2024-09-03 08:14:34

2019-12-13 08:00:00

分布式SQL數(shù)據(jù)庫架構(gòu)

2023-08-03 07:49:39

N1節(jié)點網(wǎng)絡(luò)

2017-03-14 08:57:10

CAP定理可用性

2019-08-27 07:40:47

2018-01-30 11:17:56

集群分布式SOA?

2021-07-30 08:00:00

數(shù)據(jù)分析IT技術(shù)

2021-02-25 14:09:55

人工智能數(shù)據(jù)機器學(xué)習(xí)

2021-06-08 12:46:27

分布式阿里TCC

2018-11-28 16:00:41

2018-12-12 15:20:27

點贊
收藏

51CTO技術(shù)棧公眾號