最終一致性落地實踐--獲取接收方的帳號餘額
接前文
http://blog.itpub.net/29254281/viewspace-2113781/
作為直播型別的應用.
採用最終一致性處理使用者傳送禮物和接收禮物.
傳送禮物是同步的,接收禮物是非同步的.
那麼如何得知主播(收禮者)的真實帳號金額呢
因為總有一部分主播的銀子,尚在處理之中,沒有增加到主播的帳號裡面.
其實用Redis也可以解決這個問題.
傳送方事務完成之後,更新redis,把本次事務資訊寫入redis
接收方非同步處理.
等接收方主要流程結束,事務提交之前,操作Redis
刪除之前傳送方處理流程記錄的Entry.
將傳送方餘額寫入固定的key
這兩步Redis操作可以合成一個Redis事務.
獲取主播的真實帳號餘額,HGetALL,應用程式慢慢算好了.
異常流程
1.傳送方更新Redis失敗.(該事務TranslogID的entry沒有寫入成功)
由於最終一致性,待接收方處理的時候,餘額最終也會加上
2.接收方更新Redis失敗.
待下次收禮 或者 Redis key超時.
更新主播帳號餘額,因為有資料庫鎖保護.所以沒有併發問題.
每次開播之前,都將主播的這個資訊初始化.超時時間5分鐘.
http://blog.itpub.net/29254281/viewspace-2113781/
作為直播型別的應用.
採用最終一致性處理使用者傳送禮物和接收禮物.
傳送禮物是同步的,接收禮物是非同步的.
那麼如何得知主播(收禮者)的真實帳號金額呢
因為總有一部分主播的銀子,尚在處理之中,沒有增加到主播的帳號裡面.
其實用Redis也可以解決這個問題.
傳送方事務完成之後,更新redis,把本次事務資訊寫入redis
接收方非同步處理.
等接收方主要流程結束,事務提交之前,操作Redis
刪除之前傳送方處理流程記錄的Entry.
將傳送方餘額寫入固定的key
這兩步Redis操作可以合成一個Redis事務.
獲取主播的真實帳號餘額,HGetALL,應用程式慢慢算好了.
異常流程
1.傳送方更新Redis失敗.(該事務TranslogID的entry沒有寫入成功)
由於最終一致性,待接收方處理的時候,餘額最終也會加上
2.接收方更新Redis失敗.
待下次收禮 或者 Redis key超時.
更新主播帳號餘額,因為有資料庫鎖保護.所以沒有併發問題.
每次開播之前,都將主播的這個資訊初始化.超時時間5分鐘.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2119986/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 最終一致性落地實踐
- 通過變動日誌獲取某一時刻所有使用者的帳號餘額
- 間接獲取flash主版本號
- 光貓超級帳號密碼,重置光貓獲取超級帳號密碼密碼
- 獲取dom的最終的css屬性值CSS
- SPA 的 SEO 方案對比、最終實踐
- 快取一致性最佳實踐快取
- 獲取波場(Tron)錢包TRX、USDT餘額和剩餘頻寬、能量 - 筆記筆記
- 微服務簡單實現最終一致性微服務
- 實時獲取最耗CPU的SQLSQL
- Laravel Socialite 對接微信公眾號成功實踐Laravel
- 訊息最終一致性最易用的新架構架構
- React Native 橋接原生 iOS 以及 Android 獲取 APP 版本號React Native橋接iOSAndroidAPP
- 讀構建可擴充套件分散式系統:方法與實踐10最終一致性套件分散式
- 微服務的最終一致性與事件流微服務事件
- 如何獲取終端使用者的真實ip
- 使用 Masstransit中的 Request/Response 與 Courier 功能實現最終一致性
- PHP獲取IMEI號最後一位校驗碼PHP
- 銀行存錢取錢餘額的圖形程式
- CnosDB如何確保多步操作的最終一致性?
- 分散式事務方案 - 最終一致性分散式
- rocketmq可靠一致性的mysql落地實現MQMySql
- ASP.NET獲取CPU序列號,硬碟序列號ID,獲取網路卡編號ASP.NET硬碟
- 獲取系統帳戶密碼週期的例項密碼
- 分散式事務最終一致性的簡單案例分散式
- 可落地的DDD程式碼實踐
- 遊戲陪玩app原始碼的可靠訊息最終一致性方案的實現遊戲APP原始碼
- Mysql中獲取行號MySql
- 前端監控實踐——FMP的智慧獲取演算法前端演算法
- 一種介面設計方法,最終一致性方法
- 對SVN的落地與實踐總結
- 公用查詢帳號的管理
- js獲取當前月份剩餘的天數程式碼JS
- 實時數倉在滴滴的實踐和落地
- Serverless Kubernetes 落地實踐Server
- 機器學習落地遊戲實踐簡析機器學習遊戲
- 公有云在中國實踐落地
- 向量資料庫落地實踐資料庫