中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

先進(jìn)的網(wǎng)站建設(shè)百度推廣客服電話人工服務(wù)

先進(jìn)的網(wǎng)站建設(shè),百度推廣客服電話人工服務(wù),上海建設(shè)執(zhí)業(yè)資格注冊(cè)中心網(wǎng)站,重慶高端網(wǎng)站建設(shè)公司目錄 1.分布式事務(wù)問(wèn)題 1.1本地事務(wù) 1.2分布式事務(wù) 2.理論基礎(chǔ) 2.1CAP定理 2.1.1一致性 2.1.2可用性 2.1.3分區(qū)容錯(cuò) 2.1.4矛盾 2.2BASE理論 2.3解決分布式事務(wù)的思路 1.分布式事務(wù)問(wèn)題 1.1本地事務(wù) 本地事務(wù),也就是傳統(tǒng)的單機(jī)事務(wù)。在傳統(tǒng)數(shù)據(jù)庫(kù)事務(wù)中…

目錄

1.分布式事務(wù)問(wèn)題

1.1本地事務(wù)

1.2分布式事務(wù)

2.理論基礎(chǔ)

2.1CAP定理

2.1.1一致性

2.1.2可用性

2.1.3分區(qū)容錯(cuò)

2.1.4矛盾

2.2BASE理論

2.3解決分布式事務(wù)的思路

1.分布式事務(wù)問(wèn)題

1.1本地事務(wù)

本地事務(wù),也就是傳統(tǒng)的單機(jī)事務(wù)。在傳統(tǒng)數(shù)據(jù)庫(kù)事務(wù)中,必須要滿足四個(gè)原則:

1.2分布式事務(wù)

分布式事務(wù),就是指不是在單個(gè)服務(wù)或單個(gè)數(shù)據(jù)庫(kù)架構(gòu)下,產(chǎn)生的事務(wù),例如:

  • 跨數(shù)據(jù)源的分布式事務(wù)

  • 跨服務(wù)的分布式事務(wù)

  • 綜合情況

在數(shù)據(jù)庫(kù)水平拆分、服務(wù)垂直拆分之后,一個(gè)業(yè)務(wù)操作通常要跨多個(gè)數(shù)據(jù)庫(kù)、服務(wù)才能完成。例如電商行業(yè)中比較常見(jiàn)的下單付款案例,包括下面幾個(gè)行為:

  • 創(chuàng)建新訂單

  • 扣減商品庫(kù)存

  • 從用戶賬戶余額扣除金額

完成上面的操作需要訪問(wèn)三個(gè)不同的微服務(wù)和三個(gè)不同的數(shù)據(jù)庫(kù)。

訂單的創(chuàng)建、庫(kù)存的扣減、賬戶扣款在每一個(gè)服務(wù)和數(shù)據(jù)庫(kù)內(nèi)是一個(gè)本地事務(wù),可以保證ACID原

則。

但是當(dāng)我們把三件事情看做一個(gè)"業(yè)務(wù)",要滿足保證“業(yè)務(wù)”的原子性,要么所有操作全部成功,要

么全部失敗,不允許出現(xiàn)部分成功部分失敗的現(xiàn)象,這就是分布式系統(tǒng)下的事務(wù)了。

此時(shí)ACID難以滿足,這是分布式事務(wù)要解決的問(wèn)題

1.3演示分布式事務(wù)問(wèn)題

我們通過(guò)一個(gè)案例來(lái)演示分布式事務(wù)的問(wèn)題:

1)創(chuàng)建數(shù)據(jù)庫(kù),名為seata_demo,然后導(dǎo)入課前資料提供的SQL文件:

2)導(dǎo)入課前資料提供的微服務(wù):

微服務(wù)結(jié)構(gòu)如下:

其中:

seata-demo:父工程,負(fù)責(zé)管理項(xiàng)目依賴

  • account-service:賬戶服務(wù),負(fù)責(zé)管理用戶的資金賬戶。提供扣減余額的接口

  • storage-service:庫(kù)存服務(wù),負(fù)責(zé)管理商品庫(kù)存。提供扣減庫(kù)存的接口

  • order-service:訂單服務(wù),負(fù)責(zé)管理訂單。創(chuàng)建訂單時(shí),需要調(diào)用account-service和storage-service

3)啟動(dòng)nacos、所有微服務(wù)

4)測(cè)試下單功能,發(fā)出Post請(qǐng)求:

請(qǐng)求如下:

curl --location --request POST 'http://localhost:8082/order?userId=user202103032042012&commodityCode=100202003032041&count=20&money=200'

如圖:

測(cè)試發(fā)現(xiàn),當(dāng)庫(kù)存不足時(shí),如果余額已經(jīng)扣減,并不會(huì)回滾,出現(xiàn)了分布式事務(wù)問(wèn)題。

2.理論基礎(chǔ)

解決分布式事務(wù)問(wèn)題,需要一些分布式系統(tǒng)的基礎(chǔ)知識(shí)作為理論指導(dǎo)。

2.1CAP定理

1998年,加州大學(xué)的計(jì)算機(jī)科學(xué)家 Eric Brewer 提出,分布式系統(tǒng)有三個(gè)指標(biāo)。

  • Consistency(一致性)

  • Availability(可用性)

  • Partition tolerance (分區(qū)容錯(cuò)性)

?

它們的第一個(gè)字母分別是 C、A、P。

Eric Brewer 說(shuō),這三個(gè)指標(biāo)不可能同時(shí)做到。這個(gè)結(jié)論就叫做 CAP 定理。

2.1.1一致性

Consistency(一致性):用戶訪問(wèn)分布式系統(tǒng)中的任意節(jié)點(diǎn),得到的數(shù)據(jù)必須一致。

比如現(xiàn)在包含兩個(gè)節(jié)點(diǎn),其中的初始數(shù)據(jù)是一致的:

當(dāng)我們修改其中一個(gè)節(jié)點(diǎn)的數(shù)據(jù)時(shí),兩者的數(shù)據(jù)產(chǎn)生了差異:

要想保住一致性,就必須實(shí)現(xiàn)node01 到 node02的數(shù)據(jù) 同步:

2.1.2可用性

Availability (可用性):用戶訪問(wèn)集群中的任意健康節(jié)點(diǎn),必須能得到響應(yīng),而不是超時(shí)或拒絕。

如圖,有三個(gè)節(jié)點(diǎn)的集群,訪問(wèn)任何一個(gè)都可以及時(shí)得到響應(yīng):

當(dāng)有部分節(jié)點(diǎn)因?yàn)榫W(wǎng)絡(luò)故障或其它原因無(wú)法訪問(wèn)時(shí),代表節(jié)點(diǎn)不可用:

2.1.3分區(qū)容錯(cuò)

Partition(分區(qū)):因?yàn)榫W(wǎng)絡(luò)故障或其它原因?qū)е路植际较到y(tǒng)中的部分節(jié)點(diǎn)與其它節(jié)點(diǎn)失去連接,

形成獨(dú)立分區(qū)。

Tolerance(容錯(cuò)):在集群出現(xiàn)分區(qū)時(shí),整個(gè)系統(tǒng)也要持續(xù)對(duì)外提供服務(wù)

2.1.4矛盾

在分布式系統(tǒng)中,系統(tǒng)間的網(wǎng)絡(luò)不能100%保證健康,一定會(huì)有故障的時(shí)候,而服務(wù)有必須對(duì)外保

證服務(wù)。因此Partition Tolerance不可避免。

當(dāng)節(jié)點(diǎn)接收到新的數(shù)據(jù)變更時(shí),就會(huì)出現(xiàn)問(wèn)題了:

如果此時(shí)要保證一致性,就必須等待網(wǎng)絡(luò)恢復(fù),完成數(shù)據(jù)同步后,整個(gè)集群才對(duì)外提供服務(wù),服務(wù)

處于阻塞狀態(tài),不可用。

如果此時(shí)要保證可用性,就不能等待網(wǎng)絡(luò)恢復(fù),那node01、node02與node03之間就會(huì)出現(xiàn)數(shù)據(jù)不

一致。

也就是說(shuō),在P一定會(huì)出現(xiàn)的情況下,A和C之間只能實(shí)現(xiàn)一個(gè)。

2.2BASE理論

BASE理論是對(duì)CAP的一種解決思路,包含三個(gè)思想:

  • Basically Available (基本可用):分布式系統(tǒng)在出現(xiàn)故障時(shí),允許損失部分可用性,即保證核心可用。

  • Soft State(軟狀態(tài)):在一定時(shí)間內(nèi),允許出現(xiàn)中間狀態(tài),比如臨時(shí)的不一致?tīng)顟B(tài)。

  • Eventually Consistent(最終一致性):雖然無(wú)法保證強(qiáng)一致性,但是在軟狀態(tài)結(jié)束后,最終達(dá)到數(shù)據(jù)一致。

2.3解決分布式事務(wù)的思路

分布式事務(wù)最大的問(wèn)題是各個(gè)子事務(wù)的一致性問(wèn)題,因此可以借鑒CAP定理和BASE理論,有兩種解決思路:

  • AP模式:各子事務(wù)分別執(zhí)行和提交,允許出現(xiàn)結(jié)果不一致,然后采用彌補(bǔ)措施恢復(fù)數(shù)據(jù)即可,實(shí)現(xiàn)最終一致。

  • CP模式:各個(gè)子事務(wù)執(zhí)行后互相等待,同時(shí)提交,同時(shí)回滾,達(dá)成強(qiáng)一致。但事務(wù)等待過(guò)程中,處于弱可用狀態(tài)。

但不管是哪一種模式,都需要在子系統(tǒng)事務(wù)之間互相通訊,協(xié)調(diào)事務(wù)狀態(tài),也就是需要一個(gè)事務(wù)協(xié)調(diào)者(TC)

這里的子系統(tǒng)事務(wù),稱為分支事務(wù);有關(guān)聯(lián)的各個(gè)分支事務(wù)在一起稱為全局事務(wù)。

http://www.risenshineclean.com/news/42759.html

相關(guān)文章:

  • 中小型企業(yè)網(wǎng)站的設(shè)計(jì)與開(kāi)發(fā)百度搜索競(jìng)價(jià)
  • 重慶網(wǎng)站公司淘寶指數(shù)網(wǎng)站
  • wordpress mb_strimwidth htmlseo優(yōu)化工具大全
  • 網(wǎng)站制作策劃今日熱點(diǎn)
  • 南寧微信網(wǎng)站制作網(wǎng)頁(yè)制作軟件推薦
  • 去哪兒網(wǎng)站開(kāi)發(fā)中國(guó)國(guó)家培訓(xùn)網(wǎng)靠譜嗎
  • 福州手機(jī)網(wǎng)站建設(shè)最新國(guó)內(nèi)新聞事件今天
  • 網(wǎng)站店鋪分布圖怎么做網(wǎng)絡(luò)營(yíng)銷(xiāo)專(zhuān)業(yè)是學(xué)什么的
  • java做的k線圖網(wǎng)站源碼下載seo搜索引擎是什么
  • 為什么做電影網(wǎng)站沒(méi)有流量嗎東莞百度seo電話
  • 做網(wǎng)站搞什么流量百度競(jìng)價(jià)點(diǎn)擊軟件奔奔
  • 網(wǎng)站是如何建立的山東做網(wǎng)站
  • 網(wǎng)站企業(yè)備案代理短視頻拍攝剪輯培訓(xùn)班
  • 溫州網(wǎng)站制作多少錢(qián)谷歌google 官網(wǎng)下載
  • 手機(jī)html5網(wǎng)站源碼廣告投放的方式有哪些
  • 深圳網(wǎng)站建設(shè)培訓(xùn)班深圳最新通告今天
  • 技術(shù)支持:淄博網(wǎng)站建設(shè)優(yōu)化設(shè)計(jì)三年級(jí)上冊(cè)語(yǔ)文答案
  • 山東省建設(shè)工程招標(biāo)中心網(wǎng)站當(dāng)日網(wǎng)站收錄查詢統(tǒng)計(jì)
  • 網(wǎng)站建設(shè)需求分析寫(xiě)什么茶葉seo網(wǎng)站推廣與優(yōu)化方案
  • 網(wǎng)站程序組成seo搜狗排名點(diǎn)擊
  • 辛集seo網(wǎng)站優(yōu)化電話靠譜的免費(fèi)建站
  • 建立手機(jī)個(gè)人網(wǎng)站營(yíng)銷(xiāo)網(wǎng)站建設(shè)制作
  • 視頻資源的網(wǎng)站怎么做站長(zhǎng)資訊
  • 網(wǎng)站建設(shè)課程設(shè)計(jì)內(nèi)容淘寶店鋪轉(zhuǎn)讓價(jià)格表
  • wordpress評(píng)論框文件采集站seo課程
  • 自己做網(wǎng)站外包百度熱搜高考大數(shù)據(jù)
  • 企業(yè)做網(wǎng)站需要什么軟件百度品牌廣告收費(fèi)標(biāo)準(zhǔn)
  • 網(wǎng)站制作預(yù)付款會(huì)計(jì)分錄小程序運(yùn)營(yíng)推廣公司
  • 大慶網(wǎng)站制作營(yíng)銷(xiāo)策劃方案包括哪些內(nèi)容
  • 在百度做網(wǎng)站多少錢(qián)網(wǎng)站推廣營(yíng)銷(xiāo)