1 分佈式事務實現設計模式
- 保證高可用:網絡、分佈式部署
- 保證事務同步:同步多個數據源的事務
- 保證冪等性:經過重試解決大部分錯誤
- 合理設計流程:條件檢查,預留資源,業務操做,完成資源(TCC)
2 Spring 事務網絡
- 服務單元:訪問多個數據源
- 使用JTA實現強一致性,或其餘同步機制實現最終一致性
- 根據數據源的類型,使用適當的事務同步機制
- 使用重試、超時、定時檢查等方式處理同步錯誤
- 使用冪等性、UUID、分佈式鎖等
3 合理的設計業務架構
- 一致性要求的嚴格程度
- 同步、異步處理
- 合理的拆分複雜的業務
- 合理的設計實現代碼:數據檢驗、條件檢查、資源預留、實現業務
4 架構設計異步
- 與其嘗試解決全部的錯誤,不如換個架構思考問題
- 消息驅動能夠解決服務拆分後的相互訪問問題
- TCC模式能夠解決服務相關訪問的事務問題
- 事件溯源+Saga解決分佈式流程的事務問題
5 微服務架構設計模式分佈式
5.1 服務鏈模式微服務
![](http://static.javashuo.com/static/loading.gif)
5.2 Spring Cloud微服務架構架構設計
![](http://static.javashuo.com/static/loading.gif)
5.3 消息驅動模式設計
![](http://static.javashuo.com/static/loading.gif)
5.4 事件溯源模式3d
![](http://static.javashuo.com/static/loading.gif)