1. 程式人生 > >【分散式事務】微服務架構下的分散式事務問題

【分散式事務】微服務架構下的分散式事務問題

  1. ACID理論:關係型資料庫的事務滿足 ACID 的特性,具有 ACID 特性的資料庫支援資料的強一致性,保證了資料本身不會出現不一致。適用於傳統的單體架構。
  2. CAP理論:在分散式系統下, 包含三個要素:Consistency(一致性)、Availability(可用性)、Partition tolerance(分割槽容錯性),並且三者不可兼得。分散式系統要求保證分割槽容錯性,只能在資料強一致性(C)和可用性(A)之間做平衡,即選擇CP或者AP。比如Zookeeper為CP系統保證強一致性犧牲一定的可用性;Eureka為AP系統保證較高可用性犧牲一定的一致性。另外,CAP理論中是忽略網路延遲,也就是當事務提交時,從節點A複製到節點B,但是在現實中這個是明顯不可能的,所以總會有一定的時間是不一致。所以CAP一般適用於區域網系統的理論基礎。
  3. BASE理論:解決 CAP 理論中分散式系統的可用性和一致性不可兼得的問題,提出最終一致性。即,最終資料是一致的就可以了,而不是實時保持強一致。例如,支付成功,訂單也成功,但增加積分失敗,此時,不應回滾支付和訂單,而應通過一些 補償方法來讓積分得以正確地增加。