第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

微服務提現問題

微服務提現問題

德瑪西亞99 2018-10-12 19:28:35
現有兩個微服務:用戶服務.用戶數據字段uidallow_withdraw (1: 允許提現,0:禁止提現)財務服務財務系統(tǒng)數據字段account (對應 用戶.uid) amount (余額)現在提現功能,需要先判斷 allow_withdraw,再判斷余額是不是足夠。在 users-service 中加一個節(jié)點 /users/withdraw執(zhí)行的時候,會先判斷 allow_withdraw 狀態(tài),再通過 HTTP 請求 finance-service 中的 /finance/amount 得到余額再判斷一下余額是否足夠(問題就在這里,這里的判斷是無法保證的)有什么好的實現思路呢?
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

boolean allow = allow_withdraw()

if(allow) {

    check()

    withdraw()

}

典型的"檢查再計算"操作,所以要放到一個事務里面,保證原子性。

這個屬于分布式事務的范疇啦~~~~微服務最頭疼的。。。。。。
網上搜索下吧,很多解決方法。

不過最好的方法是:合并服務,把分布式事務消除掉,改成普通事務。


查看完整回答
反對 回復 2018-10-29
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

finance-service 里應該有針對 amount 的 CRUD 操作,用戶的提現應該放在 finance-service 里,users-service 里只提供 allow_withdraw 便可。

調用 finance-service 里的 withdraw 時,向 users-service 詢問是否 allow_withdraw ,如果可以,在事務中對 amount 進行操作,并提交;如果失敗,回滾,處理之。

好多的提現,只有一個提示,提現請求已提交,然后通過異步消息告訴你是否提現成功。


查看完整回答
反對 回復 2018-10-29
  • 2 回答
  • 0 關注
  • 1112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號