阿里开源分布式事务seata带你入门
介紹
Seata 是阿里巴巴開源的分布式事務(wù)中間件,一種分布式事務(wù)解決方案,具有高性能和易于使用的微服務(wù)架構(gòu)。
1:對業(yè)務(wù)無侵入:即減少技術(shù)架構(gòu)上的微服務(wù)化所帶來的分布式事務(wù)問題對業(yè)務(wù)的侵入
2:高性能:減少分布式事務(wù)解決方案所帶來的性能消耗
?
微服務(wù)中的分布式事務(wù)問題
讓我們想象一下傳統(tǒng)的單片應(yīng)用程序。它的業(yè)務(wù)由3個(gè)模塊組成。他們使用單個(gè)本地?cái)?shù)據(jù)源。
自然,本地事務(wù)將保證數(shù)據(jù)的一致性。
微服務(wù)架構(gòu)已發(fā)生了變化。上面提到的3個(gè)模塊被設(shè)計(jì)為在3個(gè)不同數(shù)據(jù)源之上的3個(gè)服務(wù)(模式:每個(gè)服務(wù)的數(shù)據(jù)庫)。本地事務(wù)自然可以保證每個(gè)服務(wù)中的數(shù)據(jù)一致性。
但是整個(gè)業(yè)務(wù)邏輯范圍如何呢?
?
Seata怎么辦?
Seata只是上述問題的解決方案。
首先,如何定義分布式事務(wù)?
我們說,分布式事務(wù)是由一批分支事務(wù)組成的全局事務(wù),通常分支事務(wù)只是本地事務(wù)。
?
設(shè)計(jì)
Seata中分布式事務(wù)實(shí)現(xiàn)方案,AT和TCC。
AT
AT模式是基于XA事務(wù)演進(jìn)而來,核心是對業(yè)務(wù)無侵入,是一種改進(jìn)后的兩階段提交,需要數(shù)據(jù)庫支持。
?
基本組件:
- 事務(wù)協(xié)調(diào)器(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ā)起全局提交或全局回滾的決議。
- 資源管理器(RM):控制分支事務(wù),負(fù)責(zé)分支注冊、狀態(tài)匯報(bào),并接收事務(wù)協(xié)調(diào)器的指令,驅(qū)動(dòng)分支(本地)事務(wù)的提交和回滾。
處理流程:
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的阿里开源分布式事务seata带你入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 执行mongod其他实例出现的问题
- 下一篇: COMSOL光纤建模、光子带隙分析等