1. 程式人生 > >java微服務架構的分散式事務解決方案

java微服務架構的分散式事務解決方案

分散式系統架構中,分散式事務問題是一個繞不過去的挑戰。而微服務架構的流行,讓分散式事問題日益突出!

下面我們以電商購物支付流程中,在各大參與者系統中可能會遇到分散式事務問題的場景進行詳細的分析!



 

如上圖所示,假設三大參與平臺(電商平臺、支付平臺、銀行)的系統都做了分散式系統架構拆分,按上數中的流程步驟進行分析:

1、電商平臺中建立訂單:預留庫存、預扣減積分、鎖定優惠券,此時電商平臺內各服務間會有分散式事務問題,因為此時已經要跨多個內部服務修改資料;

2、支付平臺中建立支付訂單(選銀行卡支付):查詢賬戶、查詢限制規則,符合條件的就建立支付訂單並跳轉銀行,此時不會有分散式事務問題,因為還不會跨服務改資料;

3、銀行平臺中建立交易訂單:查詢賬戶、建立交易記錄、判斷賬戶餘額並扣款、增加積分、通知支付平臺,此時也會有分散式事務問題(如果是服務化架構的話);

4、支付平臺收到銀行扣款結果:更改訂單狀態、給賬戶加款、給積分帳戶增加積分、生成會計分錄、通知電商平臺等,此時也會有分散式事務問題;

5、電商平臺收到支付平臺的支付結果:更改訂單狀態、扣減庫存、扣減積分、使用優惠券、增加消費積分等,系統內部各服務間呼叫也會遇到分散式事問題;

視訊課程目錄:

1、課程介紹20分鐘
2、解決方案的效果演示(結合支付系統真實應用場景)45分鐘
3、常用的分散式事務解決方案介紹47分鐘
4、訊息傳送一致性(可靠訊息的前提保障)20分鐘
5、訊息傳送一致性的異常流程處理16分鐘
6、常規MQ佇列訊息的處理流程和特點12分鐘
7、訊息重複傳送問題及業務介面的冪等性設計18分鐘
8、可靠訊息最終一致性方案1(本地訊息服務)的設計19分鐘
9、可靠訊息最終一致性方案2(獨立訊息服務)的設計24分鐘
10、可靠訊息服務的設計與實現--訊息服務子系統27分鐘
11、可靠訊息服務的設計與實現--訊息管理子系統10分鐘
12、可靠訊息服務的設計與實現--訊息狀態確認子系統15分鐘
13、可靠訊息服務的設計與實現--訊息恢復子系統13分鐘
14、可靠訊息服務的設計與實現--實時訊息服務子系統28分鐘
15、可靠訊息最終一致性方案在支付系統中的實戰應用介紹47分鐘
16、可靠訊息最終一致性方案在支付系統中的實戰應用部署38分鐘
17、可靠訊息最終一致性方案在支付系統中的實戰應用測試24分鐘
18、可靠訊息最終一致性方案的優化提升(訊息非同步確認)35分鐘
19、可靠訊息最終一致性方案的優化建議16分鐘
20、最大努力通知方案的實戰應用介紹7分鐘
21、最大努力通知方案的設計與實現54分鐘
22、最大努力通知方案的實戰應用部署13分鐘
23、最大努力通知方案的實戰應用測試30分鐘
24、最大努力通知方案的優化建議13分鐘
25、TCC型分散式事務方案介紹15分鐘
26、TCC型分散式事務框架介紹與樣例部署26分鐘
27、TCC型分散式事務方案在支付系統中的實戰應用詳解60分鐘
28、TCC型分散式事務方案在支付系統中的實戰應用部署與測試35分鐘
29、TCC型分散式事務框架的設計及原始碼分析
30、TCC型分散式事務方案的應用優化提升