何為分布式事務(wù)?
隨著公司業(yè)務(wù)發(fā)展和數(shù)據(jù)量的增長,數(shù)據(jù)庫單表超過千萬級別時(shí),數(shù)據(jù)庫性能會(huì)直線下降,這時(shí)需要數(shù)據(jù)分區(qū)(包括分庫&分表),
這時(shí)數(shù)據(jù)庫本地事務(wù)將不適用于跨多個(gè)節(jié)點(diǎn)的數(shù)據(jù)操作。必須引入分布式事務(wù)。
本地事務(wù)有ACID特性,那么分布式事務(wù)能做到嗎?
CAP定理
CAP定理是由加州大學(xué)伯克利分校Eric Brewer教授提出來的,他指出WEB服務(wù)無法同時(shí)滿足一下3個(gè)屬性:
一致性(Consistency) : 客戶端知道一系列的操作都會(huì)同時(shí)發(fā)生(生效)
可用性(Availability) : 每個(gè)操作都必須以可預(yù)期的響應(yīng)結(jié)束
分區(qū)容錯(cuò)性(Partition tolerance) : 即使出現(xiàn)單個(gè)組件無法可用,操作依然可以完成
具體地講在分布式系統(tǒng)中,在任何數(shù)據(jù)庫設(shè)計(jì)中,一個(gè)Web應(yīng)用至多只能同時(shí)支持上面的兩個(gè)屬性。顯然,任何橫向擴(kuò)展策略都要依賴于數(shù)據(jù)分區(qū)。因此,設(shè)計(jì)人員必須在一致性與可用性之間做出選擇。
那么如何抉擇,直接影響到分布式事務(wù)的方案選擇