如圖所示,bool withdraw(account_id, amount)函數(shù)表示:從account_id對應(yīng)的賬戶中扣除amount數(shù)額的錢;如果扣除成功則返回true,賬戶余額減少amount;如果扣除失敗則返回false,賬戶余額不變。如果withdraw請求已經(jīng)被服務(wù)器端正確處理,但服務(wù)器端的返回結(jié)果由于網(wǎng)絡(luò)等原因被掉丟了,導致客戶端無法得知處理結(jié)果。如果是在網(wǎng)頁上,一些不恰當?shù)脑O(shè)計可能會使用戶認為上一次操作失敗了,然后刷新頁面,這就導致了withdraw被調(diào)用兩次,賬戶也被多扣了一次錢。因此我們要做冪等控制。問題:如果采用采用分布式事務(wù),通過引入支持分布式事務(wù)的中間件來保證withdraw功能的事務(wù)性,有哪些中間件可以提供這些功能?具體怎么實現(xiàn)的?。?
添加回答
舉報
0/150
提交
取消