成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

說(shuō)說(shuō)分布式事務(wù)(三)

opengps / 3488人閱讀

摘要:最終一致性一簡(jiǎn)介是由支付寶架構(gòu)師提供的一種柔性解決分布式事務(wù)解決方案主要包括三個(gè)步驟流程的關(guān)鍵流程如下圖以下單和扣減庫(kù)存為例子預(yù)生成訂單失敗了為什么要通過(guò)執(zhí)行預(yù)處理數(shù)據(jù)回滾可能預(yù)生成訂單成功但是接口返回失敗超時(shí)失敗所以預(yù)處理在某些情況下是有

最終一致性(一) TCC 簡(jiǎn)介

TCC是由支付寶架構(gòu)師提供的一種柔性解決分布式事務(wù)解決方案,主要包括三個(gè)步驟:

TCC流程

TCC的關(guān)鍵流程如下圖(以下單和扣減庫(kù)存為例子)

Q: 預(yù)生成訂單失敗了,為什么要通過(guò)TCC執(zhí)行預(yù)處理數(shù)據(jù)回滾?

A: 可能預(yù)生成訂單成功,但是接口返回失敗(超時(shí)失敗),所以預(yù)處理在某些情況下是有預(yù)處理數(shù)據(jù),需要清

TCC異常場(chǎng)景

在整個(gè)流程,我們主要需要關(guān)注的是cancel失敗和confirm失敗引起的數(shù)據(jù)不一致現(xiàn)象

注意事項(xiàng)

TCC服務(wù)支持接口失敗重試,所以對(duì)TCC暴露的接口都需要滿足冪等性(根據(jù)事務(wù)Id很好滿足)

基于TCC的中心化事務(wù)一致性解決方法,各個(gè)應(yīng)用服務(wù)器如果需要感知某次事務(wù)是否成功的成本很高,所以對(duì)于自身而言進(jìn)行事務(wù)補(bǔ)償成本就會(huì)很高.舉個(gè)例子:

1??每次成功的執(zhí)行本應(yīng)用服務(wù)器的事務(wù)以后,都需要把成功執(zhí)行的事務(wù)Id記錄
2??繼續(xù)confirm或者將confirm完的數(shù)據(jù)回滾,對(duì)用戶都很不友好,特別是需要confirm訂單或者回滾訂單數(shù)據(jù)
3??可以根據(jù)事務(wù)開始的時(shí)間,并且設(shè)計(jì)一個(gè)事務(wù)超時(shí)時(shí)間,如果在這個(gè)時(shí)間范圍以外事務(wù)還沒(méi)有處理完成,就可以當(dāng)做這個(gè)事務(wù)已經(jīng)失敗,將預(yù)處理數(shù)據(jù)刪除
總體來(lái)說(shuō),事務(wù)補(bǔ)償機(jī)制,心智負(fù)擔(dān)過(guò)于沉重.所以只能依賴TCC服務(wù)器的失敗重試機(jī)制,如果失敗重試機(jī)制不能處理,只能人肉去處理(建議全程人肉,因?yàn)橥瑫r(shí)進(jìn)行失敗重試和人肉的話,因?yàn)槿绻≈卦嚭腿巳舛荚诓僮魍粭l數(shù)據(jù),還需要考慮這種競(jìng)爭(zhēng)的場(chǎng)景,對(duì)重試次數(shù)需要限定)

后記

是否一定需要TCC服務(wù)器?
不一定,可以讓交易鏈路來(lái)充當(dāng)TCC服務(wù)器的角色,但是長(zhǎng)期來(lái)看,TCC相當(dāng)于是一個(gè)公用的組件,所以其它地方也需要TCC分布式事務(wù),可以公用這一個(gè)組件(交易鏈路可以完成TCC所能完成的一切操作,把TCC多帶帶部署一個(gè)服務(wù),僅僅是考慮整個(gè)系統(tǒng)的抽象結(jié)構(gòu)和功能復(fù)用)

這里說(shuō)的預(yù)處理,指的是什么?
在整個(gè)分布式事務(wù)中預(yù)處理的含義其實(shí)很廣泛,比如訂單,所謂的預(yù)處理就是生成訂單,但是用戶真實(shí)是看不到這些訂單的,至于具體實(shí)現(xiàn)是在一張新表中記錄還是在原有的訂單表是加上標(biāo)記位,具體實(shí)現(xiàn)方式由自己統(tǒng)籌考慮(當(dāng)然還需要考慮記錄事務(wù)Id);像減庫(kù)存這種預(yù)處理,可以直接減少原始庫(kù)存,再通過(guò)另外一張表來(lái)記錄這次事務(wù)Id操作了哪個(gè)Sku的庫(kù)存數(shù)量,當(dāng)然也可以不減少庫(kù)存只記錄操作,但是這種方式在計(jì)算實(shí)際庫(kù)存的時(shí)候復(fù)雜度會(huì)提高(需要減掉預(yù)處理的那部分)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/64931.html

相關(guān)文章

  • 說(shuō)說(shuō)布式事務(wù)(二)

    摘要:以兩階段提交來(lái)說(shuō),主持人收到一個(gè)提案請(qǐng)求,打電話跟每個(gè)組員詢問(wèn)是否通過(guò)并統(tǒng)計(jì)回復(fù),然后將最后決定打電話通知各組員。三階段提交即是引入了另一個(gè)步驟,主持人打電話跟組員通知請(qǐng)準(zhǔn)備通過(guò)提案,以避免沒(méi)人知道真實(shí)決定而造成決定不一致的失業(yè)危機(jī)。 3PC 以兩階段提交來(lái)說(shuō),主持人收到一個(gè)提案請(qǐng)求,打電話跟每個(gè)組員詢問(wèn)是否通過(guò)并統(tǒng)計(jì)回復(fù),然后將最后決定打電話通知各組員。要是主持人在跟第一位組員通完電...

    ysl_unh 評(píng)論0 收藏0
  • 說(shuō)說(shuō)布式事務(wù)(二)

    摘要:以兩階段提交來(lái)說(shuō),主持人收到一個(gè)提案請(qǐng)求,打電話跟每個(gè)組員詢問(wèn)是否通過(guò)并統(tǒng)計(jì)回復(fù),然后將最后決定打電話通知各組員。三階段提交即是引入了另一個(gè)步驟,主持人打電話跟組員通知請(qǐng)準(zhǔn)備通過(guò)提案,以避免沒(méi)人知道真實(shí)決定而造成決定不一致的失業(yè)危機(jī)。 3PC 以兩階段提交來(lái)說(shuō),主持人收到一個(gè)提案請(qǐng)求,打電話跟每個(gè)組員詢問(wèn)是否通過(guò)并統(tǒng)計(jì)回復(fù),然后將最后決定打電話通知各組員。要是主持人在跟第一位組員通完電...

    Airy 評(píng)論0 收藏0
  • 說(shuō)說(shuō)布式事務(wù)(一)

    2PC(兩階段事務(wù)提交) 兩階段事務(wù)提交簡(jiǎn)化圖 showImg(/img/bVsV61); 兩階段事務(wù)提交異常點(diǎn) 節(jié)點(diǎn)本身故障(比如Down機(jī)) 節(jié)點(diǎn)之間通信故障 兩階段事務(wù)提交錯(cuò)誤點(diǎn)分析 showImg(/img/bVsV56); 說(shuō)明 圖中有問(wèn)號(hào)的條目,是我不確定的地方,但是不影響這個(gè)分布式事務(wù)的結(jié)果 圖中的感嘆號(hào)條目,個(gè)人感覺(jué)其實(shí)也是允許先發(fā)消息再記錄日志的,但是如果這樣子做以后發(fā)生D...

    chunquedong 評(píng)論0 收藏0
  • 說(shuō)說(shuō)布式事務(wù)(四)

    摘要:最終一致性二基于的分布式事務(wù)補(bǔ)償機(jī)制序列圖異常場(chǎng)景處理預(yù)創(chuàng)建訂單失敗如果實(shí)際預(yù)創(chuàng)建訂單成功訂單定時(shí)補(bǔ)償機(jī)制定時(shí)刪除這部分訂單不影響數(shù)據(jù)一致性下單失敗預(yù)扣減庫(kù)存失敗如果預(yù)扣減庫(kù)存真實(shí)失敗則下單失敗訂單由定時(shí)補(bǔ)償機(jī)制定時(shí)刪除其它應(yīng)用參照?qǐng)鼍暗奶? 最終一致性(二) 基于MQ的分布式事務(wù)補(bǔ)償機(jī)制 序列圖 showImg(https://segmentfault.com/img/bVzeHX);...

    qiangdada 評(píng)論0 收藏0
  • 說(shuō)說(shuō)布式事務(wù)(四)

    摘要:最終一致性二基于的分布式事務(wù)補(bǔ)償機(jī)制序列圖異常場(chǎng)景處理預(yù)創(chuàng)建訂單失敗如果實(shí)際預(yù)創(chuàng)建訂單成功訂單定時(shí)補(bǔ)償機(jī)制定時(shí)刪除這部分訂單不影響數(shù)據(jù)一致性下單失敗預(yù)扣減庫(kù)存失敗如果預(yù)扣減庫(kù)存真實(shí)失敗則下單失敗訂單由定時(shí)補(bǔ)償機(jī)制定時(shí)刪除其它應(yīng)用參照?qǐng)鼍暗奶? 最終一致性(二) 基于MQ的分布式事務(wù)補(bǔ)償機(jī)制 序列圖 showImg(/img/bVzeHX); 異常場(chǎng)景處理 預(yù)創(chuàng)建訂單失敗:如果實(shí)際預(yù)創(chuàng)建...

    Anchorer 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<