日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Seata相关概念

發布時間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Seata相关概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相關概念
XID:一個全局事務的唯一標識
Transaction Coordinator (TC): 事務協調器,維護全局事務的運行狀態,負責協調并驅動全局事務的提交或回滾(可以理解為事務的協調者)。
Transaction Manager (TM): 控制全局事務的邊界,負責開啟一個全局事務,并最終發起全局提交或全局回滾的決議(可以理解為事務發起者)。
Resource Manager (RM): 控制分支事務,負責分支注冊、狀態匯報,并接收事務協調器的指令,驅動分支(本地)事務的提交和回滾(可以理解為事務的參與者)。yao

?

事務發起者(TM)和事務的參與者(RM)要注冊到事務的協調者(TC)上,事務的協調者(TC)由Seata為我們提供,事務發起者(TM)操作事務參與者(RM),比如事務發起者者這個服務叫做transaction,事務參與者有order和order_item,transaction服務統一調用order服務和order_item服務,比如調用的時候order_item服務報錯了能通知到transaction服務,transaction服務收到了通知,知道了order_item服務報錯了,那么transaction服務就告訴事務的協調者(TC)order_item服務報錯了你要通知事務的參與者(RM)order服務回滾,事務發起者(TM)下面有一個全局事務XID,那么這個全局事務XID怎么知道他下面有哪些參與者呢,所以他下面還有一個參與者id,我叫他分支事務id(branchID),每一個事務參與者去通信連接上事務的協調者(TC)上的時候,事務的協調者(TC)會給事務的參與者(RM)下發一個branchID,比如order服務的branchID為1,order_item服務的branchID為2,transaction服務下面的全局事務XID為1,他包含了order服務的branchID 1和order_item服務的branchID 2,這樣就控制住了,transaction服務調用方法的時候,一報錯,能根據branchID找到全局事務XID,由全局事務XID通知事務的協調者(TC)下面的兩個分支需要回滾,一但使用了AT模式,就會涉及全局鎖的概念,犧牲了可用性保證了一致性

總結

以上是生活随笔為你收集整理的Seata相关概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。