一、Seata介紹
①微服務應用面臨的問題
單體應用被拆分成微服務應用後,原本的各個模塊變成了獨立的應用,分別使用不同的數據源。當業務操作調用多個不同的微服務時,此時每個服務內部的數據一致性由本地事務來保證,但是全局數據一致性問題沒法保證,這就是我們需要面臨的分佈式事務問題。
②Seata概念介紹
名稱 | 介紹 |
---|---|
Transaction ID | 全局唯一的事務ID |
TC | 事務協調者,維護全局和分支事務的狀態,驅動全局事務提交或回滾。 |
TM | 事務管理器,定義全局的事務範圍:開啓全局事務、提交或回滾全局事務。 |
RM | 資源管理器,管理分支事務處理的資源,與TC交談以註冊分支事務和報告分支事務的狀態,並驅動分支事務的提交或回滾。 |
③Seata簡介
Seata
是一款開源的分佈式事務解決方案,致力於在微服務架構下提供高性能和簡單易用的分佈式事務服務。Seata
將爲用戶提供了AT
、TCC
、SAGA
和 XA
事務模式,爲用戶打造一站式的分佈式解決方案。
④Seata分佈式事務處理過程
TM
向TC
申請開啓一個全局事務,全局事務創建成功並生成一個全局唯一的XID。- XID在微服務調用鏈路的上下文中傳播。
RM
向TC註冊分支事務,將其納入XID
對應全局事務的管轄。TM
向TC
發起針對XID
的全局提交或回滾決議。TC
調度XID
下管轄的全部分支事務完成提交或回滾請求。
二、Seata Server安裝
①下載seata-server-1.1.0