亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

調用rpc失敗了如何處理

調用rpc失敗了如何處理

慕神8447489 2018-07-18 14:26:05
一個注冊場景,操作1,用戶注冊時在子平臺生成帳號,操作2,調用rpc服務,在總平臺上生成帳號(1和2是兩個不同的數據庫)。問題是如果調用rpc失敗了(請求超時,或rpc返回錯誤等情況),但此時操作1已經執行,這時該如何處理
查看完整描述

3 回答

?
fanfanfan5631

TA貢獻1條經驗 獲得超0個贊

某業務方法:

??? 本地dao操作;

????方法1; // rpc調用

????try {???

????????方法2; // rpc操作

????} catch (業務錯誤){

?????????方法1的沖正方法;

????}


?????try {???

??????? 本地dao操作;

????????方法3; // rpc操作

????} catch (業務錯誤){

?????????方法1的沖正方法;

???????? 方法2的沖正方法;

????}

????

????封裝返回報文(errorCode跟errorMsg)


此處的思路主要是:

????調用完rpc服務之后,如果后續操作報錯,則調用rpc服務的"回滾"服務,即沖正方法。例如轉賬服務 和 轉賬沖正服務。


查看完整回答
反對 回復 2019-11-16
?
斯蒂芬大帝

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

一般主要靠兩點保證數據一致性:
1.事務控制,如這里操作1執行完以后不提交事務,執行操作2等操作2返回正常請求了,然后提交操作1的事務
2.補償機制,如這里的業務,可以通過保存請求信息和狀態,然后后續通過定時任務等操作來掃描是否有總庫和本地庫會員不一致的情況,有的話,進行業務處理

查看完整回答
反對 回復 2018-07-18
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

超時和返回錯誤是需要分開處理的

  1. 返回錯誤:一般提示用戶自己重試,當然1操作也需要回滾

  2. 超時: 提示用戶成功, 通過消息的方式確認2是否成功,不成功進行重試


查看完整回答
反對 回復 2018-07-18
  • 3 回答
  • 0 關注
  • 887 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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