分佈式事務_【CAP理論】

CAP理論

<1>Consistency 一致性

寫操作之後可以讀取到最新的數據狀態,當數據分佈在多個節點上從任意及誒單讀取到的數據都是最新的狀態

如何實現一致性

(1)寫入主數據庫後將數據同步到從數據庫
(2)寫入主數據庫後,在向從數據庫同步期間將數據庫鎖定等待同步完成之後在釋放鎖。避免在新數據寫入成功之後向數據庫查詢舊數據

一致性特點

(1)由於存在數據同步的過程寫操作會有一定的延遲
(2)爲了保證數據一致性會對資源暫時鎖定,等待數據同步完成釋放資源
(3)請求數據同步失敗節點則會返回錯誤信息不會返回舊數據

<2> Availability 可用性

指任何事物操作都可以得到響應結果,且不會出現響應超時或響應錯誤

如何實現可用性

(1)寫入主數據庫後將數據同步到從數據庫
(2)保證從數據庫的可用性,不可將數據庫中的資源進行鎖定
(3)數據還未同步從數據庫必須返回查詢的數據(可以使舊數據),沒有9️舊數據返回默認信息(不能返回錯誤或響應超時)

可用性的特點

(1)所有請求都有響應且不會出現響應超時或者錯誤

<3> Partiton tolerance 分區容忍性

因爲分佈式系統的特點部署在不同的子網中(網絡分區),因爲網絡問題導致節點通信失敗,即使在失敗是也可以對外提供服務(分區容忍性)

實現分區容忍性

(1)使用異步操作取代同步操作
(2)添加從數據庫節點,主從數據庫即使一個節點掛掉也可以從其他節點提供服務
特點
(1)分區容忍性時分佈式系統基本

CAP事務的特點

所有分佈式事務場景中不會同時具備C,A,P三個特性 在具備P的前提下A,C不共存
CAP實際應用組合
1)AP 放棄一致性 提高分區容忍和可用
2)CP 放棄可用性 追求一致性和分區容錯 例如 zookeeper足球強一致性
3)CA 放棄分區容忍 不考慮網絡問題或者節點性能

BASE理論

因爲CAP理論前提最多同時滿足CAP中任意兩項,實際應用中AP更多。AP放棄一致性前提保證可用性和分區容忍性。
但是實際中又不能徹底拋棄一致性,CAP中的一致性要求在任何時間查詢節點數據必須保持一種這是一種強一致性。但是大多數條件下我們不必保證每時每刻一致,我們強調最終一致性允許在一段時間內每個節點不一致,但是經過一段時間之後每個節點數據必須保持一致(最終一致性)

Base理論介紹

BASE時Basically Availale(基本可用),Soft state(軟狀態),Eventually consistent(最終一致性)。BASE理論是CAP中AP的一個擴展。通過犧牲強一致性獲取可用性,但是當出現故障允許部分不可用但是要保證核心功能可用,允許數據在一段時間不一致只需要保證最終相同稱之爲“柔性事務”
1)基本可用 分佈式系統出現故障允許損失部分可用功能保證核心功能可用
2)軟狀態 不要求強一致性
3)最終一致性能 經過一段時間後所有節點都會達到一致

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章