有這樣一個需求:
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網站、網站重做改版、八公山網站定制設計、自適應品牌網站建設、H5頁面制作、商城網站定制開發(fā)、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為八公山等各大城市提供網站開發(fā)制作服務。
小明有兩個賬戶,分別位于A、B兩個數(shù)據庫中,小明需要將A中的資金轉到B中。
我們如何實現(xiàn)?
按照下面的方式實現(xiàn)看看有沒有問題。
上面操作,正常情況是沒有問題。
考慮如下情況:
第7步執(zhí)行成功之后,網絡出問題了,第8步會提交失敗,此時的結果是:A庫資金減少了100,B庫資金卻沒有增加;這是一個網絡問題導致了我們業(yè)務失敗了,網絡因素是程序不可控的一些因素,還有其他的比如運行到7之后,系統(tǒng)突然斷電了,也會出現(xiàn)同樣的結果。造成了數(shù)據錯誤,對業(yè)務影響也是比較大的。
分布式事務可以這么理解:一個業(yè)務操作中,會包含很多子業(yè)務的,每個子業(yè)務都是獨立的事務,我們需要考慮的是如何保證這些子業(yè)務都成功,或者都失敗。
就拿上面的轉賬來說,A庫的資金減少了,由于網絡問題,操作B庫的connB連接斷開了,導致B庫資金沒有增加;網絡問題是可以恢復了,如果網絡恢復了,系統(tǒng)能夠給B中資金加上,這樣最終數(shù)據也是正確的;這中間有段時間AB庫的資金是不一致的(A庫減少了100,B庫應該增加100卻沒有增加,數(shù)據是不一致的),但是最終某個時間點數(shù)據變?yōu)橐恢铝恕?strong>能夠將不一致的時間降到最低是系統(tǒng)需要考慮的問題。
分布式事務中,我們可以接受數(shù)據在某個時間段之內不一致,但是數(shù)據最終在某個時間點是一致的。
分布式事務系列中主要講這2種方案,這兩種方案基本上可以解決大多數(shù)常見的分布式事務的問題,所以咱們必須把這兩種方式拿下。
下面我們介紹一下使用可靠消息如何實現(xiàn)?
兩個微服務
服務A:用于操作A庫中的賬戶
服務B:用于操作B庫中的賬戶
兩個服務都是鏈接獨立的數(shù)據庫,依靠數(shù)據庫提供的功能,能夠保證各自的事務。
對于用戶來說過程如下:
接著
上面整個轉賬過程中有幾點我們需要考慮一下:
依靠消息模式實現(xiàn)分布式事物,比較適合消費者一定會處理成功的場景。比如用戶注冊發(fā)送郵件、發(fā)送短信、送積分等。
新聞標題:分布式事務系列-解決跨庫轉賬問題
瀏覽路徑:http://aaarwkj.com/article36/iijhpg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站內鏈、網站策劃、網頁設計公司、網站排名、用戶體驗、做網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)