直播平台虚拟币与人民币的关系
問題:
現在直播平臺很火,有一個這樣的場景:幾萬個粉絲向網紅撒錢,粉絲點擊按鈕,錢不斷減少,網紅錢不斷增加。如何設計這一塊呢?如果直接存庫,可能會把庫干趴下。
?
討論:
A:這個涉及到第三方交易,不可能是加減法那么簡單
B:錢的加減請求丟到MQ里面緩存,然后一千個加減紀錄作為一筆,累計網紅和粉絲的錢數加減,然后更新一次數據庫,這樣一千個粉絲撒錢只需要更新一次庫,減少對庫的IO,至于單條賬單紀錄可以寫日志慢慢解析入庫,因為紀錄要求的實時性不高。
B:然后性能上堆機器,加幾個節點差不多了
A:意思是批處理代替單處理,減少調用遠端接口的次數
A:批量處理固然效率高,但是并不靈活,應該還要加上時效性。如果10個小時都達不到一千次,難道還要等到10個小時之后才發起一次連接遠端接口。
A:人家交易早就取消了
B:這個場景不是面對面交易,粉絲撒錢都是以禮物的形式送的,而不是每一次請求都要完成一次銀行賬戶的交易,所以后臺只需要統計,這樣批處理是很快的。
A:這類交易不適合用批量處理,萬一中間有一筆有異常就很麻煩。
B:每一筆都會紀錄日志,而且統計只是為了給實時用戶提供熱點數據,網紅要知道誰給自己撒了錢,這里的過程不會直接涉及到銀行交易,不會因為某一筆異常導致回滾這樣的操作,一般不會出問題,只是單純地禮物累加
A:關鍵是看人家遠端接口是否支持批量交易啊
B:沒有批量交易,這里的批量只是批量統計,然后交易可以從日志中解析,然后一條一條完成,首先把實時數據提供出去。
A:我覺得瓶頸應該是能否保證并發調用遠端接口的效率,寫回本地日志完全可以異步慢慢寫,至于實時顯示給用戶的可以不用實時統計,用一個變量做加減就好了。
A:加減比較簡單,但要考慮并發安全,這個變量最終肯定要固話到庫里,或者保存和庫里的一致
A:如果是調用第三方的交易平臺,沒有回滾之說法吧,交易不在本地
A:除了要考慮并發量,還要考慮的應該是要及時把信息顯示給用戶,肯定不能等把交易成功的響應數據都寫到庫里了再統計出來顯示,那樣太慢了,所以我覺得應該盡量避免頻繁讀數據庫,實時數據可以都在內存里,后面再同步固化到庫里
B:所以你們說了那么多 不就是在論證我的方案嗎。。 考慮并發所以才會用mq做緩存 并且足夠可靠 還有 直播這個場景你們確定了解嗎 一般是先在賬戶里充值了之后 ?撒錢只扣賬戶里的錢 或者支付成功之后才會發起一次撒錢的請求 并不是在你發起請求之后 在我說的統計批處理上做交易類的業務 ?做的批量統計就是為了及時返回給用戶他們要看到的數據 寫到日志里也是為了押后處理
A:充值的話用的就是虛擬貨幣了,不能算實時交易,本人不搞電商,有搞電商的大俠出來給大家分享一下高并發交易吧
A:不涉及第三方的交易,就相對簡單得多,交易都只是在本地做加減而已,所有用戶充進來的錢都已經到商家口袋里了,用戶手上的都只是一堆數字,只有提現才涉及真正的貨幣交易
A:那些什么資金管理系統,其實真正的銀行賬戶就只有管理者手上的一兩個,其它上百萬上千萬客戶的賬號都只是一個個虛擬賬號,如果允許客戶內部交易,那根本不需要經過銀行,僅僅是內部虛擬賬號的金額加減,再怎么轉來轉去,只要錢不出銀行賬戶就都還在管理者手上
?
我只是覺得這個思路很好,問題探討才能完美,如果侵犯當事人的權益,可以私我刪除。謝謝!
總結
以上是生活随笔為你收集整理的直播平台虚拟币与人民币的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分析师:NAND Flash 价格有望在
- 下一篇: 透明度值查询