seata項(xiàng)目中完整的分布式事務(wù)過程

本篇內(nèi)容介紹了“seata項(xiàng)目中完整的分布式事務(wù)過程”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)主營集賢網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),集賢h5重慶小程序開發(fā)搭建,集賢網(wǎng)站營銷推廣歡迎集賢等地區(qū)企業(yè)咨詢

一個(gè)完整的分布式事務(wù)大致分為以下幾步:

  1. TM(bussiness) 向 TC(seata-server) 申請開啟一個(gè)全局事務(wù),全局事務(wù)創(chuàng)建成功并生成一個(gè)全局唯一的 XID。

  2. XID 在微服務(wù)調(diào)用鏈路的上下文中傳播。

  3. RM (account,order,storage)向 TC 注冊分支事務(wù),將其納入 XID 對應(yīng)全局事務(wù)的管轄。

  4. TM 向 TC 發(fā)起針對 XID 的全局提交或回滾決議。

  5. TC 調(diào)度 XID 下管轄的全部分支事務(wù)完成提交或回滾請求。

相關(guān)概念

Transaction Coordinator (TC): 事務(wù)協(xié)調(diào)器,維護(hù)全局事務(wù)的運(yùn)行狀態(tài),負(fù)責(zé)協(xié)調(diào)并驅(qū)動(dòng)全局事務(wù)的提交或回滾;
Transaction Manager(TM): 控制全局事務(wù)的邊界,負(fù)責(zé)開啟一個(gè)全局事務(wù),并最終發(fā)起全局提交或全局回滾的決議;
Resource Manager (RM): 控制分支事務(wù),負(fù)責(zé)分支注冊、狀態(tài)匯報(bào),并接收事務(wù)協(xié)調(diào)器的指令,驅(qū)動(dòng)分支(本地)事務(wù)的提交和回滾;

我們模擬一個(gè)正常商品下單的過程,整個(gè)流程涉及到以下幾個(gè)步驟:

(1)調(diào)用Bussiness服務(wù)購買商品;

(2)Bussiness調(diào)用storage服務(wù)檢查并減少庫存;

(3)Business調(diào)用order服務(wù)下單;

(4)order服務(wù)調(diào)用account服務(wù)入賬。

模擬客戶下單的整個(gè)流程如下所示

seata項(xiàng)目中完整的分布式事務(wù)過程

(注意:圖中的全局事務(wù)和分支事務(wù)是在調(diào)用接口時(shí),由seata代理自動(dòng)注冊的)

1.客戶下單。

2.請求進(jìn)入Business服務(wù)后,調(diào)用下單接口;

下單接口內(nèi)部實(shí)現(xiàn)如下圖所示:

seata項(xiàng)目中完整的分布式事務(wù)過程

該接口開啟了一個(gè)全局事務(wù),全局事務(wù)開啟后會在global_table中創(chuàng)建一條全局事務(wù)記錄(如下圖所示),詳細(xì)記錄了全局事務(wù)的id發(fā)起者名稱,事務(wù)所屬服務(wù)組,接口名稱等等,記錄在事務(wù)結(jié)束后會自動(dòng)刪除。

seata項(xiàng)目中完整的分布式事務(wù)過程

下單接口的操作流程是 先扣庫存,扣除成功后再創(chuàng)建訂單。

3.扣減庫存時(shí)調(diào)用庫存服務(wù)的deduct()接口,   接口的詳細(xì)實(shí)現(xiàn)如下圖所示

seata項(xiàng)目中完整的分布式事務(wù)過程

該接口是在全局事務(wù)內(nèi)調(diào)用的,因此可以獲取到全局事務(wù)的XID,通過該ID可以去global_table中查詢?nèi)质聞?wù)的詳細(xì)信息,如狀態(tài)等。

該接口也開啟了事務(wù),因此會創(chuàng)建一個(gè)分支事務(wù),并在branch_table表中插入一條分支事務(wù)記錄,分支事務(wù)信息如下

seata項(xiàng)目中完整的分布式事務(wù)過程

4.庫存扣除成功后,調(diào)用訂單服務(wù)下單。

5下單成功后,調(diào)用賬戶服務(wù)扣錢。

“seata項(xiàng)目中完整的分布式事務(wù)過程”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享題目:seata項(xiàng)目中完整的分布式事務(wù)過程
網(wǎng)站網(wǎng)址:http://muchs.cn/article18/ppphgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站策劃、電子商務(wù)自適應(yīng)網(wǎng)站、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)