分布式事務(wù)總結(jié)6篇_第1頁(yè)
分布式事務(wù)總結(jié)6篇_第2頁(yè)
分布式事務(wù)總結(jié)6篇_第3頁(yè)
分布式事務(wù)總結(jié)6篇_第4頁(yè)
分布式事務(wù)總結(jié)6篇_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——分布式事務(wù)總結(jié)6篇分布式事務(wù)總結(jié)范文第一篇

技術(shù)標(biāo)簽:分布式

提交或回滾②TransactionManager(TM事務(wù)管理器):控制全局事務(wù)的邊界,負(fù)責(zé)開(kāi)啟一個(gè)全局事務(wù),并最終發(fā)起全局提交或全局回滾的決議③ResourceManager(RM資源管理器):控制分支事務(wù),負(fù)責(zé)分支注冊(cè)、狀態(tài)匯報(bào),并接受事務(wù)協(xié)調(diào)的指令,驅(qū)動(dòng)分支(本地)事務(wù)的提交和回滾處理過(guò)程:原理簡(jiǎn)介:4.總結(jié):

感覺(jué),協(xié)調(diào)各個(gè)分支事務(wù)執(zhí)行事務(wù)TM(transactionmanager):事務(wù)管理器控制全局事務(wù)的邊界,事務(wù)開(kāi)啟者和全局提交或全局回滾的最終決議者RM(resoucemanager):資源管理器控制分支事務(wù),分支事務(wù)的執(zhí)行者具體執(zhí)行過(guò)程:1.TM開(kāi)啟全局事務(wù),生成全局唯一事務(wù)ID(XID)在鏈路中傳播3.RM向TC注冊(cè)分支事務(wù)4.TM向TC發(fā)出事務(wù)

/Open組織提出的分布式事務(wù)的規(guī)范。XA規(guī)范主要定義了(全局)事務(wù)管理器(TransactionManager)和(局部)資源管理器(ResourceManager)之間的接口。XA接口是雙向的...(TransactionManager):事務(wù)管理器。負(fù)責(zé)協(xié)調(diào)和管理事務(wù)RM(ResourceManager):資源管理器。可以理解為數(shù)據(jù)庫(kù)或者JMS。他們?nèi)叩年P(guān)系:AP通過(guò)TM來(lái)操作

在X/OpenDTP事務(wù)模型中,定義了三個(gè)角色AP:application,應(yīng)用程序,也就是業(yè)務(wù)層。哪些操作屬于一個(gè)事務(wù),就是AP定義的RM:ResourceManager,資源管理器。一般是數(shù)據(jù)庫(kù),也可以是其他資源管理器,譬如消息隊(duì)列,文件系統(tǒng)TM:TransactionManager,事務(wù)管理器、事務(wù)協(xié)調(diào)者,負(fù)責(zé)接收來(lái)自用戶(hù)程序(AP)發(fā)起的XA事務(wù)指令,并調(diào)度和協(xié)調(diào)

驅(qū)動(dòng)全局事務(wù)的提交或回滾。TMtransactionmanager事務(wù)管理器控制全局事務(wù)的邊界,負(fù)責(zé)開(kāi)啟一個(gè)全局事務(wù),并最終發(fā)起全局提交或全局回滾的決議。RMresourcemanager資源管理器控制分支事務(wù),負(fù)責(zé)分支注冊(cè)、狀態(tài)匯報(bào),并接受事務(wù)協(xié)調(diào)器的指令,驅(qū)動(dòng)分支(本地)事務(wù)提交或回滾。流程TM向TC申請(qǐng)開(kāi)啟一個(gè)全局事務(wù),全局事務(wù)創(chuàng)立成功并生成一個(gè)全局唯一的XID

分布式事務(wù)總結(jié)范文其次篇

前面介紹的可靠消息隊(duì)列方案能保證最終的結(jié)果是相對(duì)可靠的,過(guò)程也足夠簡(jiǎn)單,但是可靠消息隊(duì)列的整個(gè)實(shí)現(xiàn)過(guò)程完全沒(méi)有任何隔離性可言。雖然在有些業(yè)務(wù)中,有沒(méi)有隔離性不是很重要,譬如說(shuō)探尋系統(tǒng)。

但在有些業(yè)務(wù)中,一旦缺乏了隔離性,就會(huì)帶來(lái)大量麻煩,譬如下面一個(gè)簡(jiǎn)化版的訂銷(xiāo)存交易流程:

假設(shè)用戶(hù)下完訂單通知庫(kù)存服務(wù)扣減庫(kù)存失敗時(shí),譬如原本是10件商品賣(mài)了1件剩余9件,但由于庫(kù)存DB操作失敗,導(dǎo)致庫(kù)存還是10件,這時(shí)就出現(xiàn)了數(shù)據(jù)不一致的狀況,此時(shí)假使有其它用戶(hù)也進(jìn)行了購(gòu)買(mǎi)操作,則可能出現(xiàn)超賣(mài)的問(wèn)題。

假使采用2PC的解決方案,在整個(gè)交易成功完成或者失敗回滾之前,其它用戶(hù)的操作將會(huì)處于阻塞等待的狀態(tài),這會(huì)大大的降低系統(tǒng)的性能和用戶(hù)體驗(yàn)。

假使業(yè)務(wù)需要隔離,尋常就應(yīng)當(dāng)重點(diǎn)考慮TCC(Try-Confirm-Cancel)方案,TCC天生適用于需要強(qiáng)隔離性的分布式事務(wù)中,它是由數(shù)據(jù)庫(kù)專(zhuān)家帕特·赫蘭德(PatHelland)在2023年撰寫(xiě)的論文《LifebeyondDistributedTransactions:AnApostate’sOpinion》中提出的。

在具體實(shí)現(xiàn)上,TCC的操作其實(shí)有點(diǎn)兒麻煩和繁雜,它是一種業(yè)務(wù)侵入性較強(qiáng)的事務(wù)方案,要求業(yè)務(wù)處理過(guò)程必需拆分為“預(yù)留業(yè)務(wù)資源〞和“確認(rèn)/釋放消費(fèi)資源〞兩個(gè)子過(guò)程。另外,你看名字也能看出來(lái),TCC的實(shí)現(xiàn)過(guò)程分為了三個(gè)階段:

TCC是基于BASE理論的類(lèi)2PC方案,根據(jù)業(yè)務(wù)的特性對(duì)2PC的流程進(jìn)行了優(yōu)化,與2PC的區(qū)別在一些步驟的細(xì)節(jié)上,如下圖:

可以看出,不同于2PC第一階段的Prepare,TCC在Try階段主要是對(duì)資源的預(yù)留操作這類(lèi)的輕量級(jí)操作,譬如凍結(jié)部分庫(kù)存數(shù)量,它不需要像2PC在其次階段完成之后才釋放整個(gè)資源,也就是它不需要等待整個(gè)事務(wù)完成后才進(jìn)行提交,這時(shí)其它用戶(hù)的購(gòu)買(mǎi)操作可以繼續(xù)正常進(jìn)行,因此它的阻塞范圍小時(shí)間短暫,性能上比2PC方案要有很大的提升。

另外,TCC是位于用戶(hù)代碼層面,而不是在基礎(chǔ)設(shè)施層面,這為它的實(shí)現(xiàn)帶來(lái)了較高的靈活性,可以根據(jù)需要設(shè)計(jì)資源鎖定的粒度。TCC在業(yè)務(wù)執(zhí)行時(shí)只操作預(yù)留資源,幾乎不會(huì)涉及鎖和資源的爭(zhēng)用,具有很高的性能潛力。

但是TCC要求所有的事務(wù)參與方都必需要提供三個(gè)操作接口:Try/Confirm/Cancel,帶來(lái)了更高的開(kāi)發(fā)成本和業(yè)務(wù)侵入性,意味著有更高的開(kāi)發(fā)成本和更換事務(wù)實(shí)現(xiàn)方案的替換成本,特別是對(duì)一些難以改動(dòng)的老舊系統(tǒng)來(lái)說(shuō)甚至是不可行的。

分布式事務(wù)總結(jié)范文第三篇

事務(wù)數(shù)據(jù)庫(kù)事務(wù)(DatabaseTransaction),是指作為單個(gè)規(guī)律工作單元執(zhí)行的一系列操作,要么完全地執(zhí)行,要么完全地不執(zhí)行。事務(wù)處理可以確保除非事務(wù)性單元內(nèi)的所有操作都成功完成,否則不會(huì)永久更新面向數(shù)據(jù)的資源。通過(guò)將一組相關(guān)操作組合為一個(gè)要么全部成功要么全部失敗的單元,可以簡(jiǎn)化錯(cuò)誤恢復(fù)并使應(yīng)用程序更加可靠。思考一個(gè)問(wèn)題?為什么要引入事務(wù),事務(wù)幫助我們解決了什么問(wèn)題?事務(wù)的產(chǎn)生...分布式事...

注:以下內(nèi)容摘自:XA是由X/Open組織提出的分布式事務(wù)的規(guī)范。XA規(guī)范主要定義了(全局)事務(wù)管理器(TransactionManager)和(局部)資源管理器(ResourceManager)之間的接口。XA接口是雙向的系統(tǒng)接口,在事務(wù)管理器(Transac...

1什么是分布式事務(wù)分布式事務(wù)就是指事務(wù)的參與者、支持事務(wù)的服務(wù)器、資源服務(wù)器以及事務(wù)管理器分別位于不同的分布式系統(tǒng)的不同節(jié)點(diǎn)之上。簡(jiǎn)單的說(shuō),就是一次大的操作由不同的小操作組成,這些小的操作分布在不同的服務(wù)器上,且屬于不同的應(yīng)用,分布式事務(wù)需要保證這些小操作要么全部成功,要么全部失敗。本質(zhì)上來(lái)說(shuō),分布式事務(wù)就是為了保證不同數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性。2分布式事務(wù)產(chǎn)生的原因數(shù)據(jù)庫(kù)分庫(kù)分表當(dāng)...

分布式事務(wù)總結(jié)范文第四篇

這是一個(gè)根據(jù)業(yè)務(wù)特性進(jìn)行妥協(xié)的一種方案,根據(jù)實(shí)際的業(yè)務(wù)場(chǎng)景對(duì)立面的數(shù)據(jù)重要性進(jìn)行劃分,放棄傳統(tǒng)的全局?jǐn)?shù)據(jù)一致,允許部分不重要的數(shù)據(jù)出現(xiàn)不一致,但不會(huì)對(duì)業(yè)務(wù)產(chǎn)生重大影響。

但是我們可以依據(jù)實(shí)際的電商購(gòu)物場(chǎng)景進(jìn)行取舍:允許少賣(mài),但不能超賣(mài)。于是我們可以先扣庫(kù)存,庫(kù)存扣減成功后才創(chuàng)立訂單并關(guān)聯(lián)庫(kù)存,若扣庫(kù)存失敗則不創(chuàng)立訂單。有以下幾種狀況:

對(duì)于第2種狀況,會(huì)出現(xiàn)多扣庫(kù)存的狀況,這時(shí)可以基于狀態(tài)進(jìn)行補(bǔ)償,就不會(huì)出現(xiàn)超賣(mài)的問(wèn)題了:根據(jù)庫(kù)存流水記錄查找那些一段時(shí)間內(nèi)未關(guān)聯(lián)訂單的庫(kù)存記錄進(jìn)行撤銷(xiāo)操作。這個(gè)和我們?cè)?2306上的買(mǎi)車(chē)票,假使30分鐘內(nèi)未支付的話車(chē)票會(huì)被釋放,是一個(gè)道理。

這是一種事后處理機(jī)制,即使補(bǔ)償失敗,也不會(huì)有嚴(yán)重后果,對(duì)業(yè)務(wù)來(lái)說(shuō)也是可接受的,大不了手工重新上架。

分布式事務(wù)總結(jié)范文第五篇

Try階段是做完業(yè)務(wù)檢查(一致性)及資源預(yù)留(隔離),此階段僅是一個(gè)初步操作,它和后續(xù)的Conrm一起才能真正構(gòu)成一個(gè)完整的業(yè)務(wù)規(guī)律。Confirm階段是做確認(rèn)提交,Try階段所有分支事務(wù)執(zhí)行成功后開(kāi)始執(zhí)行Conrm。尋常狀況下,采用TCC則認(rèn)為Conrm階段是不會(huì)出錯(cuò)的。即:只要Try成功,Conrm一定成功。若Conrm階段真的出錯(cuò)了,需引入重試機(jī)制或人工處理。Cancel階段是在業(yè)務(wù)執(zhí)行錯(cuò)誤需要回滾的狀態(tài)下執(zhí)行分支事務(wù)的業(yè)務(wù)取消,預(yù)留資源釋放。尋常狀況下,采用TCC則認(rèn)為Cancel階段也是一定成功的。若Cancel階段真的出錯(cuò)了,需引入重試機(jī)制或人工處理。

分布式事務(wù)總結(jié)范文第六篇

分布式事務(wù)的解決方案一。為什么會(huì)有分布式事務(wù)假設(shè)有如下架構(gòu),兩個(gè)應(yīng)用節(jié)點(diǎn),一個(gè)數(shù)據(jù)庫(kù),一個(gè)負(fù)載均衡器。在這個(gè)架構(gòu)下,一個(gè)月的數(shù)據(jù)量就會(huì)超過(guò)3000W,而隨著數(shù)據(jù)量的不斷擴(kuò)大,對(duì)于表的相關(guān)查詢(xún)操作的性能開(kāi)銷(xiāo)就越來(lái)越大,并且響應(yīng)耗時(shí)也越來(lái)越長(zhǎng)。這個(gè)時(shí)候需要考慮到數(shù)據(jù)庫(kù)的優(yōu)化問(wèn)題,也就是對(duì)數(shù)據(jù)庫(kù)進(jìn)行分表分庫(kù),達(dá)到分?jǐn)倲?shù)據(jù)庫(kù)壓力以及減少數(shù)據(jù)庫(kù)單表數(shù)據(jù)量的目的。分庫(kù)分表以后,一方面分擔(dān)了單庫(kù)帶來(lái)的性能...

什么是分布式系統(tǒng)?分布式系統(tǒng)是若干獨(dú)立計(jì)算機(jī)的集合,這計(jì)算機(jī)對(duì)用戶(hù)來(lái)說(shuō)就像單個(gè)相關(guān)系統(tǒng)。?分布式系統(tǒng)的優(yōu)點(diǎn)*應(yīng)用分層(模塊化):系統(tǒng)可按業(yè)務(wù)類(lèi)型拆分成多個(gè)應(yīng)用,依照結(jié)構(gòu)還可分為接口層、服務(wù)層等。*增大系統(tǒng)的容量:多個(gè)服務(wù)多個(gè)應(yīng)用,分開(kāi)處理不同的業(yè)務(wù)

...

5月28日,中國(guó)年度最具影響力之一的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論