分散式事務--CAP
資料庫軟體對單機ACID支援到位,但是進行水平或者垂直拆分之後,就變成了多機,需要面對多個資料庫的節點,就出現了分散式事務的問題。
分散式事務:事務的參與者,支援事務的伺服器,資源伺服器以及事務管理器分別位於分散式系統的不同節點上。在分散式十五中,有多個節點參與。
分散式事務處理模型 X/Open DTP模型,定義了3個元件Application Program(AP),Resource Manager(RM),Transaction Manager(TM).在三個元件中,AP可以和TM和RM通訊,TM和RM可以通訊,同時還有XA介面,TM和RM使用XA進行雙向通訊。
資料的可用性(Availability):保證無論是成功還是失敗,每個請求都能夠收到一個反饋,系統一定要有響應。
分割槽容忍性(Partition-Tolerance):系統有部分問題或者有訊息的丟失,但是系統仍能夠繼續執行。
分散式系統中不能同時滿足三項,我們在進行系統設計是進行權衡選擇 CA,AP或者CP
CA:放棄分割槽容忍,加強一致性和可用性。這是傳統單機資料庫的選擇
AP:放棄一致性,追求分割槽容忍和可用性。這是很多分散式系統設計時的選擇
CP:放棄可用性,追求一致性和分割槽容忍性。可用性比較低,系統不穩定。
在分散式系統中,我們通常會選擇AP,但並不代表放棄一致性,而是通過其他手段補償一致性。保證最終一致性。
該方案的核心是:少數服從多數
從工程上,儘量避免分散式事務的引入,如果引入分散式事務,可考慮最終一致性,通過補償機制不斷重試,讓操作進行到底,而不是回滾。
分散式事務:事務的參與者,支援事務的伺服器,資源伺服器以及事務管理器分別位於分散式系統的不同節點上。在分散式十五中,有多個節點參與。
分散式事務處理模型 X/Open DTP模型,定義了3個元件Application Program(AP),Resource Manager(RM),Transaction Manager(TM).在三個元件中,AP可以和TM和RM通訊,TM和RM可以通訊,同時還有XA介面,TM和RM使用XA進行雙向通訊。
CAP理論:
資料的一致性(Consistency):所有節點在同一時間讀到同樣的資料。資料的可用性(Availability):保證無論是成功還是失敗,每個請求都能夠收到一個反饋,系統一定要有響應。
分割槽容忍性(Partition-Tolerance):系統有部分問題或者有訊息的丟失,但是系統仍能夠繼續執行。
分散式系統中不能同時滿足三項,我們在進行系統設計是進行權衡選擇 CA,AP或者CP
CA:放棄分割槽容忍,加強一致性和可用性。這是傳統單機資料庫的選擇
AP:放棄一致性,追求分割槽容忍和可用性。這是很多分散式系統設計時的選擇
CP:放棄可用性,追求一致性和分割槽容忍性。可用性比較低,系統不穩定。
在分散式系統中,我們通常會選擇AP,但並不代表放棄一致性,而是通過其他手段補償一致性。保證最終一致性。
Paxos協議是解決系統一致性問題的方案
該方案的前提是有一個可信的通訊環境,保證資訊都是準確,沒有被篡改。該方案的核心是:少數服從多數
從工程上,儘量避免分散式事務的引入,如果引入分散式事務,可考慮最終一致性,通過補償機制不斷重試,讓操作進行到底,而不是回滾。
相關文章
- 分散式事務及其CAP和base理論分散式
- 分散式:分散式事務(CAP、兩階段提交、三階段提交)分散式
- Asp.Net Core&CAP實現分散式事務ASP.NET分散式
- 分散式事務(一)—分散式事務的概念分散式
- 分散式事務 | 使用 dotnetcore/CAP 的本地訊息表模式分散式NetCore模式
- 分散式事務最終一致性-CAP框架輕鬆搞定分散式框架
- 分散式事務(3)---RocketMQ實現分散式事務原理分散式MQ
- 分散式事務和分散式hash分散式
- 分散式事務(4)---RocketMQ實現分散式事務專案分散式MQ
- 分散式事務概述分散式
- 理解分散式事務分散式
- 【ITOO】--分散式事務分散式
- WS分散式事務分散式
- oracle分散式事務Oracle分散式
- 聊聊分散式事務分散式
- seata 分散式事務分散式
- 分散式系統(三)——分散式事務分散式
- 分散式系列七: 分散式事務理論分散式
- 分散式事務實戰分散式
- 分散式事務總結分散式
- 分散式事務介紹分散式
- 超越分散式事務分散式
- MS DTC 分散式事務分散式
- PHP 微服務之【分散式事務】PHP微服務分散式
- PHP 微服務之 [分散式事務]PHP微服務分散式
- 分散式事務之Spring事務與JMS事務(二)分散式Spring
- 本地事務和分散式事務的區別分散式
- 分散式理論(一) - CAP定理分散式
- 分散式系統CAP定理教程分散式
- 搞懂分散式技術19:使用RocketMQ事務訊息解決分散式事務分散式MQ
- 分散式事務(2)---強一致性分散式事務解決方案分散式
- TXC分散式事務簡介分散式
- SpringCloud(六)分散式事務SpringGCCloud分散式
- Laravel 分散式事務處理Laravel分散式
- 深入理解「分散式事務」分散式
- RocketMQ 分散式事務訊息MQ分散式
- 分散式事務保姆級教程分散式
- 分散式事務(四)之TCC分散式