版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
大白話聊聊分布式事務本文章來自于阿里云云棲社區(qū)摘要:#大白話聊聊分布式事務##什么是分布式事務簡單的來說就是,一個大的操作由兩個或者更多的小的操作共同完成。而這些小的操作又分布在不同的網(wǎng)絡主機上。這些操作,要么全部成功執(zhí)行,要么全部不執(zhí)行。拿轉(zhuǎn)賬的例子來說下什么是分布式事務。張三和李四在不同的城市,存儲他們賬戶信息的服務器也在不同的網(wǎng)絡主機上。張三有30元錢,李四有30元錢。張三給李四轉(zhuǎn)賬5元就是一個事務。完成這個事務,需要兩個大白話聊聊分布式事務什么是分布式事務簡單的來說就是,一個大的操作由兩個或者更多的小的操作共同完成。而這些小的操作又分布在不同的網(wǎng)絡主機上。這些操作,要么全部成功執(zhí)行,要么全部不執(zhí)行。拿轉(zhuǎn)賬的例子來說下什么是分布式事務。張三和李四在不同的城市,存儲他們賬戶信息的服務器也在不同的網(wǎng)絡主機上。張三有30元錢,李四有30元錢。張三給李四轉(zhuǎn)賬5元就是一個事務。完成這個事務,需要兩個操作。首先得從張三賬戶上扣5元,然后再給李四賬戶上加5元。事務執(zhí)行完畢后,必須是兩個操作都執(zhí)行成功,要么都失敗。事務的特性分布式事務本身就是事務,所以也有事務的特性。事務有四個特征ACID:A:原子性(Atomicity)事務中的各個操作單元要么全部做,要么就全部不做。不能事務執(zhí)行后,處于只做一半的狀態(tài)。C:一致性(Consistency)事務執(zhí)行后,必須由一個一致狀態(tài)變?yōu)榱硗庖粋€一致狀態(tài)。I:隔離性(Isolation)事務之間不能相互干擾。D:持久性(Durability)一旦事務完成,對于數(shù)據(jù)的變更是永久的。分布式事務實現(xiàn)方式下面我們就以上面轉(zhuǎn)賬的例子來說下實現(xiàn)分布式事務的幾種方式。兩階段提交兩階段提交的大概流程:第一階段:正常情況下的操作過程如下:在第一階段,主要是事務管理者(經(jīng)理)發(fā)起事務,讓各個事務資源方(職員甲乙)確認資源是否滿足,并做預處理(凍結)。資源方的操作有可能失敗也可能
成功。如,張三賬戶不足5元錢,沒辦法凍結,就是失敗。資源方把操作結果反饋給事務管理者。異常情況下的操作過程如下:如果預提交過程中出現(xiàn)任何問題,導致事務不能執(zhí)行。將會通知資源方進行撤銷預提交操作。第二階段:如果是職員甲和職員乙都告訴經(jīng)理,操作成功了。正常情況下的操作過程如下:
這個時候,張三賬戶上的金額是25元。李四賬戶上的金額是35元。異常情況下的操作過程如下:這個時候,張三賬戶上的金額是30元。李四賬戶上的金額也是30元??偠灾聞盏膱?zhí)行會分為預提交和提交兩步進行。任何一個小操作出問題,導致事務不能完成,將會進行回滾操作。兩階段提交需要注意的兩階段提交,要有一個事務管理者協(xié)調(diào)各方的操作。各方對資源的占用要到整個事務結束后才能釋放。這樣會影響事務的效率。當并發(fā)量大的時候,系統(tǒng)的性能會嚴重下滑。事務管理者和資源方存在通信。有可能存在通信不通暢。如,職員甲接受到扣錢的命令后,職員甲扣完了錢。由于電話故障等原因,導致沒辦法通知經(jīng)理已經(jīng)操作成功。因此,各方還要處理通信超時問題。整個流程需要事務管理者協(xié)調(diào)各個資源方進行操作。但是,事務管理者可能出現(xiàn)問題。導致沒辦法進行協(xié)調(diào)。如,經(jīng)理生病了。注意冪等性問題??赡艽嬖趯Y源方重復調(diào)用的情況。這種情況下,資源方被調(diào)用多次和調(diào)用一次的效果要一樣。如上例中,經(jīng)理第二次通知職員甲扣5元的時候,職員甲要像上次一樣,告訴經(jīng)理扣款已經(jīng)完成。但是,職員甲不能再進行扣款的動作?;谙崿F(xiàn)基于消息的實現(xiàn)大概過程如下:基于消息的分布式事務實現(xiàn)中,引入了消息中間件(助理),負責消息的傳遞和事務執(zhí)行狀態(tài)的詢問。這樣就降低了系統(tǒng)間的耦合度。為什么職員甲在進行扣款前,要告訴助理?主要是怕自己扣款成功了,又忘記告訴助理。這個時候,助理也就沒辦法通知職員乙操作了。告訴助理后,如果職員甲忘記了,助理可以詢問職員甲,是否執(zhí)行成功。進而決定是否該通知職員乙進行加錢操作。如果職員甲扣款失敗,則應該通知助理。助理在這種情況下,就不英再通知職員乙加錢?;谙崿F(xiàn)的問題基于消
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 共享服務合同的創(chuàng)新發(fā)展趨勢展望
- 江蘇省江陰市璜土中學高中地理 4.1區(qū)域農(nóng)業(yè)發(fā)展-以我國東北地區(qū)為例教案2 新人教版必修3
- 2024-2025學年高中語文 第四單元 有無相生教案6 新人教版選修《先秦諸子選讀》
- 九年級化學下冊 第12單元 化學與生活教案 (新版)新人教版
- 2024-2025學年高中歷史下學期第13周 羅斯福新政教學設計
- 2024六年級語文下冊 第六單元 古詩詞誦讀 5 江上漁者教學設計+教案+素材 新人教版
- 2024-2025學年上海市浦東新區(qū)七年級上英語期中試卷(含答案和音頻)
- 雨花石音樂課件
- 發(fā)現(xiàn)規(guī)律 課件
- 剖宮產(chǎn)手術課件
- 民間借貸利息計算表
- 2024江蘇省鐵路集團限公司春季招聘24人高頻500題難、易錯點模擬試題附帶答案詳解
- 滬科版(2024)八年級全一冊物理第一學期期中學業(yè)質(zhì)量測試卷 2套(含答案)
- Q GDW 10115-2022 110kV~1000kV架空輸電線路施工及驗收規(guī)范
- 2023《住院患者身體約束的護理》團體標準解讀PPT
- 核心素養(yǎng)導向下初中數(shù)學課堂作業(yè)多元化設計
- 愚公移山英文 -中國故事英文版課件
- 國開經(jīng)濟學(本)1-14章練習試題及答案
- 施工現(xiàn)場平面布置圖
- 精神病醫(yī)院住院患者護理評估單
- 生活中的音樂教案
評論
0/150
提交評論