分布式面臨的一些問題

分布式環(huán)境的特點(diǎn)

  • 分布性 服務(wù)并不在一起
  • 并發(fā)性 多個(gè)服務(wù)同時(shí)訪問同一個(gè)資源(數(shù)據(jù)庫、緩存)
  • 無序性 因網(wǎng)絡(luò)問題服務(wù)之間的通信順序不一致

分布式環(huán)境下面臨的問題

網(wǎng)路通信 網(wǎng)絡(luò)本身的不可靠性,因此會(huì)涉及到一些網(wǎng)絡(luò)通信問題
網(wǎng)絡(luò)分區(qū) 當(dāng)網(wǎng)絡(luò)發(fā)生異常導(dǎo)致分布式系統(tǒng)中部分節(jié)點(diǎn)之間的網(wǎng)絡(luò)延遲不斷增大,最終導(dǎo)致組成分布式框架的所有結(jié)點(diǎn),只有部分能夠正常通信,如腦裂
三態(tài) 在分布式架構(gòu)里面,除了成功、失敗,還有超時(shí)
分布式事務(wù)
ACID(原子性、一致性、隔離性、持久性)

中心化和去中心化

中心化冷備或者熱備
當(dāng)集群節(jié)點(diǎn)發(fā)生故障時(shí)自動(dòng)選取新的master

經(jīng)典的CAP/BASE理論

CAP

C(一致性 Consistency):所有節(jié)點(diǎn)上的數(shù)據(jù),時(shí)刻保持一致
A(可用性 Availability):每個(gè)請求都能夠收到一個(gè)響應(yīng),無論響應(yīng)成功或者失敗
P(分區(qū)容錯(cuò) Partition-tolerance):表示系統(tǒng)出現(xiàn)腦裂以后,可能導(dǎo)致某些server與集群中的其他機(jī)器失去聯(lián)系
一般只能保證CP / AP
CAP理論僅適用于原子讀寫的Nosql場景,不適用于數(shù)據(jù)庫系統(tǒng)

BASE

基于CAP理論,CAP理論并不適用于數(shù)據(jù)庫事務(wù)(因?yàn)楦乱恍╁e(cuò)誤的數(shù)據(jù)而導(dǎo)致數(shù)據(jù)出現(xiàn)紊亂,無論什么樣的數(shù)據(jù)庫高可用方案都是徒勞),雖然XA事務(wù)雖然可以保證數(shù)據(jù)庫在分布式系統(tǒng)下的ACID特性,但是會(huì)帶來性能方面的影響

eBay嘗試了一種完全不同的套路,放寬了對事務(wù)ACID的要求。提出了BASE理論(數(shù)據(jù)的最終一致性)

  • Basically available:數(shù)據(jù)庫分片模式,把100W的用戶數(shù)據(jù)分布在5個(gè)實(shí)例上,如果破壞其中一個(gè)實(shí)例,仍然可以保證80%的用戶可用
  • soft-state:軟狀態(tài),在基于client-server模式的系統(tǒng)中,server端是否有狀態(tài),決定了系統(tǒng)是否具備良好的水平擴(kuò)展、負(fù)載均衡、故障恢復(fù)等特性。
    server端承諾會(huì)維護(hù)client端狀態(tài)數(shù)據(jù),這個(gè)狀態(tài)僅僅維持一小段時(shí)間,這段時(shí)間以后,server端就會(huì)丟棄這個(gè)狀態(tài),恢復(fù)正常
  • Eventually consistent:數(shù)據(jù)的最終一致性
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容