解決方案一:
使用 alibaba seata 可以來解決 ,但是該種解決方案 不適合 大併發情況下,會影響效能,(使用於管理後台各個微服務呼叫的增刪改查的事務管理)
解決方案二:
使用 mq 來解決,(保證資料的最終一致性)
如: 在電商系統中,當下乙個訂單後,要扣減庫存,我們先遠端呼叫 庫存介面,
(有可能會出現,庫存扣減成功,但是返回給訂單系統的資料,因為網路原因失敗了,此時訂單因為呼叫庫存系統超時,訂單下單失敗。)
我們可以在庫存系統使用 rabbitmq ,我們鎖庫存成功後,把訊息放入到 rabbitmq 延時佇列(利用死信實現),如果過了一段時間,延時佇列就發訊息,確認訂單是否下單成功,如果沒有下單成功,就自動的解鎖庫存,保證資料的最終一致性。
事務 分布式事務解決方案
事務acid特性 事務隔離級別 指的是讀和寫同時出現時出現的資料不一致問題。事務的一致性問題 存在問題問題描述 髒讀 dirty read 針對的是單條資料。即乙個更新操作a修改了某一條資料,但尚未提交該事務,此時另乙個讀操作b來查詢該條資料,讀到的是修改後的但尚未提交的資料。不可重複讀 unrep...
分布式事務解決方案
一 結合mq訊息中介軟體實現的可靠訊息最終一致性 二 tcc補償性事務解決 三 最大努力通知型方案 第一種方案 可靠訊息最終一致性,需要業務系統結合mq訊息中介軟體實現,在實現過程中需要保證訊息的成功傳送及成功消費。即需要通過業務系統控制mq的訊息狀態 第二種方案 tcc補償性,分為三個階段tryi...
分布式事務解決方案
當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...