欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

分布式事務(wù)介紹與優(yōu)化-創(chuàng)新互聯(lián)

一、分布式事務(wù)介紹

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站設(shè)計(jì)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都iso認(rèn)證等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致認(rèn)可!

分布式事務(wù)用于在分布式系統(tǒng)中保證不同節(jié)點(diǎn)之間的數(shù)據(jù)一致性。分布式事務(wù)的實(shí)現(xiàn)有很多種,最具有代表性的是由Oracle Tuxedo系統(tǒng)提出的XA分布式事務(wù)協(xié)議。

在我們平時(shí)寫的代碼中,我們可以用一個(gè)事務(wù)包含許多個(gè)SQL調(diào)用,如果某一個(gè)數(shù)據(jù)庫(kù)操作發(fā)生異常,就可以將之前的SQL操縱全部進(jìn)行回滾,只有當(dāng)所以的SQL操作全部成功,才進(jìn)行提交,這就保證了事務(wù)的一致性。

但是在分布式環(huán)境下,多個(gè)數(shù)據(jù)庫(kù)操作可能被拆分到獨(dú)立的三個(gè)數(shù)據(jù)庫(kù)訪問(wèn)服務(wù)中,此時(shí)原來(lái)的本地SQL調(diào)用就演變成了遠(yuǎn)程服務(wù)調(diào)用,事務(wù)的一致性無(wú)法得到保證

加入服務(wù)A和服務(wù)B調(diào)用成功,則A和B的SQL會(huì)被提交,最后執(zhí)行服務(wù)C,它的SQL操作失敗,那么C進(jìn)行回滾,在這里,就導(dǎo)致了事務(wù)的不一致。

二、分布式事務(wù)設(shè)計(jì)方案

通常,分布式事務(wù)基于兩階段實(shí)現(xiàn):

 階段1:全局事務(wù)管理器向所有事務(wù)參與者發(fā)送準(zhǔn)備請(qǐng)求,事務(wù)參與者向全局事務(wù)管理器回復(fù)自己是否準(zhǔn)備就緒。

階段2:全局事務(wù)管理器接收到所以事務(wù)參與者的回復(fù)之后做判斷,如果所有事務(wù)參與者都可以提交,則向所有事務(wù)提交者發(fā)送提交申請(qǐng),否則進(jìn)行回滾。事務(wù)參與者根據(jù)全局事務(wù)管理器的指令進(jìn)行提交或者回滾操作。

兩個(gè)階段采用的是悲觀鎖策略,由于各個(gè)事務(wù)參與者需要等待響應(yīng)最慢的參與者,因此性能比較差。 而且整個(gè)過(guò)程都是需要加鎖的,并且當(dāng)協(xié)調(diào)者出現(xiàn)故障,則整個(gè)事務(wù)需要等到協(xié)調(diào)者回復(fù)后才能繼續(xù)執(zhí)行。

所以可以用最終一致性替代傳統(tǒng)的強(qiáng)一致性,盡量避免使用分布式事務(wù)。

三、分布式事務(wù)基礎(chǔ)模型

由于在大型SOA/微服務(wù)系統(tǒng)架構(gòu)下,一次業(yè)務(wù)請(qǐng)求往往會(huì)跨越多個(gè)服務(wù),多個(gè)服務(wù)共同協(xié)調(diào)完成一次端到端的全鏈路業(yè)務(wù)調(diào)用時(shí),由于業(yè)務(wù)約束或者服務(wù)提供者的故障等原因造成多個(gè)系統(tǒng)中數(shù)據(jù)不一致或通信延遲等問(wèn)題,因此對(duì)于分布式/微服務(wù)系統(tǒng)中的多服務(wù)協(xié)調(diào)調(diào)用場(chǎng)景需要分布式事務(wù)來(lái)保證系統(tǒng)的ACID屬性。

四、分布式事務(wù)優(yōu)化

在實(shí)踐中常用的最終一致性方案就是使用帶有事務(wù)功能的MQ做中間人角色,工作原理如下:

在做本地事務(wù)之前,先向MQ發(fā)送一個(gè)preapre消息,然后執(zhí)行本地事務(wù),本地事務(wù)提交成功的話,向MQ發(fā)送一個(gè)commit消息,否則發(fā)送一個(gè)rollback消息,取消之前的消息。MQ只會(huì)在收到commit確認(rèn)才會(huì)將消息投遞出去,所以這樣的形式可以保證在一切正常的情況下,本地事務(wù)和MQ可以達(dá)到一致性。

但是如果系統(tǒng)執(zhí)行事務(wù)成功后,還沒(méi)來(lái)得及發(fā)送commit給MQ,或者說(shuō)網(wǎng)絡(luò)超時(shí)等問(wèn)題導(dǎo)致MQ沒(méi)有收到commit,那么MQ就不會(huì)把prepare消息投遞出去。MQ會(huì)根據(jù)策略去嘗試詢問(wèn)(回調(diào))發(fā)消息的系統(tǒng)進(jìn)行檢查該消息是否應(yīng)該投遞出去或者丟棄,得到系統(tǒng)的確認(rèn)后,MQ會(huì)做投遞還是丟棄,這樣就完全保證了MQ和發(fā)消息的系統(tǒng)的一致性,從而保證了接收消息系統(tǒng)的一致性。


另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:分布式事務(wù)介紹與優(yōu)化-創(chuàng)新互聯(lián)
本文路徑:http://www.chinadenli.net/article4/dgeiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站搜索引擎優(yōu)化定制網(wǎng)站企業(yè)網(wǎng)站制作動(dòng)態(tài)網(wǎng)站域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化