數據庫事務
ACID特性
原子性(Atomicity )、一致性( Consistency )、隔離性( Isolation)和持久性(Durabilily)
分佈式理論
數據庫進行分區,這裏所說的分區指的是物理分區,分區之後可能不同的庫就處於不同的服務器上了
CAP定理
CAP定理是由加州大學伯克利分校Eric Brewer教授提出來的,他指出WEB服務無法同時滿足一下3個屬性:
- 一致性(Consistency) : 客戶端知道一系列的操作都會同時發生(生效)
- 可用性(Availability) : 每個操作都必須以可預期的響應結束
- 分區容錯性(Partition tolerance) : 即使出現單個組件無法可用,操作依然可以完成
具體地講在分佈式系統中,在任何數據庫設計中,一個Web應用至多隻能同時支持上面的兩個屬性。顯然,任何橫向擴展策略都要依賴於數據分區。因此,設計人員必須在一致性與可用性之間做出選擇。
分佈式事務解決方案
一般來說,分佈式事務的實現主要有以下 5 種方案:
- XA 方案
- TCC 方案
- 本地消息表
- 可靠消息最終一致性方案
- 最大努力通知方案
Spring
Spring 聲明式事務@Transactional