java 事務 tcc事務實戰學習過程

2021-08-20 20:20:24 字數 922 閱讀 5154

全部執行後發現記憶體不夠(電腦沒超過16g記憶體的就可以放棄了)

只用docker-compose執行前兩個,剩下選擇性通過原始碼啟動

首先新增host

## solar

127.0

.0.1 eureka1

127.0

.0.1 eureka2

127.0

.0.1 rabbitmq

127.0

.0.1 zipkin_server

127.0

.0.1 solar_mysql

127.0

.0.1 gitlab

進入原始碼啟動

進入原始碼啟動

開啟訂單服務的swagger測試api

示例專案中的restful tcc模式圖例

示例專案整體架構

首次啟動時通過flyway自動初始化資料庫。

對spring cloud config server採用fail fast策略,一旦遠端配置服務無法連線則無法啟動業務服務。

account

用於獲取使用者資訊,使用者註冊,修改使用者餘額,預留餘額資源,確認預留餘額,撤銷預留餘額。

product

用於獲取產品資訊,變更商品庫存,預留庫存資源,確認預留庫存,撤銷預留庫存。

tcc coordinator

tcc資源協調器,其職責如下:

order

order服務是本專案的入口,儘管所提供的功能很簡單:

補償事務(TCC)

tcc try confirm cancel try 階段 嘗試執行,完成所有業務檢查 一致性 預留必需業務資源 準隔離性 confirm 階段 確認真正執行業務,不作任何業務檢查,只使用 try 階段預留的業務資源,confirm 操作滿足冪等性。要求具備冪等設計,confirm 失敗後需要進行重...

tcc分布式事務 分布式事務之TCC事務模型

我們先套乙個業務場景進去,如下圖所示 那頁面點了支付按鈕,呼叫支付服務,那我們後台要實現下面三個步驟 1 訂單服務 修改訂單狀態 2 賬戶服務 扣減金錢 3 庫存服務 扣減庫存 達到事務的效果,要麼一起成功,要麼一起失敗!就要採取tcc分布式事務方案!tcc的全稱是 try confirm canc...

TCC事務機制簡介

關於tcc try confirm cancel 的概念,最早是由pat helland於2007年發表的一篇名為 life beyond distributed transactions an apostate s opinion 的 提出。在該 中,tcc還是以tentative confirm...