谷粒分布式事務(wù)_第1頁(yè)
谷粒分布式事務(wù)_第2頁(yè)
谷粒分布式事務(wù)_第3頁(yè)
谷粒分布式事務(wù)_第4頁(yè)
谷粒分布式事務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、谷粒分布式事務(wù)1 介紹庫(kù)存結(jié)果和物流返回訂單支付服務(wù)訂單服務(wù)庫(kù)存服務(wù)訂單業(yè)務(wù)的完成Db事務(wù)協(xié)調(diào)器事務(wù)訂單Db事務(wù)支付事務(wù)庫(kù)存Db事務(wù)其他Db1 xa協(xié)議下的兩段式提交在xa協(xié)議下,提交一個(gè)事務(wù)需要經(jīng)過(guò)兩個(gè)階段階段一:預(yù)備提交階段二:提交2 xa兩段式提交的進(jìn)階版:tcc(try confirm cancle)需要在業(yè)務(wù)層實(shí)現(xiàn),try,confirm,和cancle的接口3基于消息的,采取最終一致性策略的分布式事務(wù)(消息隊(duì)列MQ)在一個(gè)事務(wù)正在進(jìn)行的同時(shí),發(fā)出消息給其他的業(yè)務(wù)如果消息發(fā)送失敗,或者消息的執(zhí)行失敗,則回滾消息,重復(fù)執(zhí)行反復(fù)執(zhí)行失敗后,記錄失敗信息,后期補(bǔ)充性的處理在消息系統(tǒng)中開(kāi)啟事

2、務(wù),消息的事務(wù)是指,保證消息被正常消費(fèi),否則回滾的一種機(jī)制2 消息隊(duì)列中間件1 activeMq,由apache開(kāi)發(fā),基于jms的接口規(guī)則2 RabbitMQ,c開(kāi)發(fā),基于amqp協(xié)議3 kafka,大數(shù)據(jù)的消息中間件4 zeroMq,基于socket協(xié)議5 mateMq,阿里的產(chǎn)品啟動(dòng)activeMq start3 消息隊(duì)列的模式Consumer監(jiān)聽(tīng)器queueproducerConsumer監(jiān)聽(tīng)器Consumer監(jiān)聽(tīng)器topicproducerConsumer監(jiān)聽(tīng)器拉消息到消費(fèi)端ConsumerMqAQueue記錄消費(fèi)狀態(tài)AA記錄消費(fèi)狀態(tài)B記錄消費(fèi)狀態(tài)Topic4 mq整合spring1

3、編寫(xiě)mq的工廠2 將mq工廠初始化到spring容器中3 將mq的監(jiān)聽(tīng)器封裝到spring的容器中5 分布式事務(wù)的業(yè)務(wù)模型0 提交訂單的延遲檢查(支付服務(wù))PAYMENT_CHECK_QUEUE1 支付完成(支付服務(wù))PAYHMENT_SUCCESS_QUEUE2 訂單已支付(訂單服務(wù))ORDER_PAY_QUEUE3 庫(kù)存鎖定(庫(kù)存系統(tǒng))SKU_DEDUCT_QUEUE4 訂單已出庫(kù)(訂單服務(wù))ORDER_SUCCESS_QUEUE購(gòu)物車(chē)合并隊(duì)列商品管理同步隊(duì)列6 分布式事務(wù)的復(fù)習(xí)1 分布式事務(wù)事務(wù):保證數(shù)據(jù)的一致性分布式事務(wù):在分布式環(huán)境下保證數(shù)據(jù)的一致性2 分布式事務(wù)的解決方案xa協(xié)議,

4、事務(wù)管理器,資源管理器之間協(xié)議兩端式提交,xa和tcc(try,confirm,concle)消息,最終一致性的解決方案3 基于消息隊(duì)列的解決方案將消息的事務(wù)和普通事務(wù)放在一起,同時(shí)提交或者回滾7 延遲隊(duì)列1 延遲隊(duì)列解決的問(wèn)題定時(shí)任務(wù)(延遲隊(duì)列)在提交支付時(shí),向消息隊(duì)列發(fā)送一個(gè)延遲執(zhí)行的消息任務(wù),當(dāng)該任務(wù)被支付服務(wù)執(zhí)行時(shí),在消費(fèi)任務(wù)的程序中去查詢當(dāng)前交易的交易狀態(tài),根據(jù)交易狀態(tài)(支付結(jié)束)決定解除延遲任務(wù)還是繼續(xù)再設(shè)置新的延遲任務(wù)配置消息隊(duì)列的延遲屬性:schedulerSupport=true2 消費(fèi)延遲隊(duì)列(支付服務(wù))檢查當(dāng)前訂單的交易狀態(tài),根據(jù)交易狀態(tài)(沒(méi)有成功支付),設(shè)置重新發(fā)送延遲

5、檢查的時(shí)間和隊(duì)列檢查當(dāng)前訂單的交易狀態(tài),根據(jù)交易狀態(tài)(成功支付),更新支付信息發(fā)送訂單隊(duì)列(冪等性檢查)再支付服務(wù)的mq消費(fèi)端PaymentServiceMqListener調(diào)用阿里的支付查詢接口(通過(guò)paymentService)3 延遲檢查的限制服務(wù)Mq隊(duì)列監(jiān)聽(tīng)4 檢查支付情況的接口A 交易未創(chuàng)建B 交易已創(chuàng)建,但未付款C 交易已成功5 冪等性服務(wù)器資源對(duì)于相同的請(qǐng)求,一次或者多次,所返回的結(jié)果狀態(tài)應(yīng)該保持一致8 庫(kù)存系統(tǒng)的介紹1 庫(kù)存表Wms_ware_info2 庫(kù)存系統(tǒng)和商品(sku)的對(duì)應(yīng)關(guān)系表Wms_ware_sku多對(duì)多3 wms_ware_order_task庫(kù)存系統(tǒng)根據(jù)庫(kù)存情況,對(duì)訂單的拆分結(jié)果4 wms_ware_order_task_detail庫(kù)存拆單后的,庫(kù)存訂單詳情按照支付訂單的商品信息進(jìn)行庫(kù)存鎖定庫(kù)存拆單訂單消息

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論