交易系統熱點賬戶問題

2021-08-13 14:46:12 字數 632 閱讀 2959



何為熱點賬戶?

熱點賬戶即系統中,被高頻繁地進行資金的進出操作,頻繁出現加鎖解鎖操作的賬戶。比如,b2c系統中的企業虛擬戶,使用者購買商品時,資金從使用者虛擬戶轉到企業虛擬戶;使用者退款時,資金從企業虛擬戶轉到使用者虛擬戶;這時,對企業虛擬戶的資金進出操作就會成為整個業務的瓶頸。

1. 控制併發數:所有進出都先進到執行緒池中,以執行緒池的併發數控制實際對熱點賬戶操作的併發數

2. 縮小事務控制範圍:對熱點賬戶的操作放在盡量小的事務範圍,減少時間分片,提高成功率

3. 樂觀鎖:對熱點賬戶的更新操作使用樂觀鎖,減少時間分片,提高成功率

資金進出賬戶分開設計,

入賬賬戶設計

思路:先記流水,定時增加賬戶餘額,減少鎖競爭

不足:賬戶餘額更新不及時

出賬賬戶設計

思路:出賬賬戶拆分成多個子賬戶,具體使用的賬戶通過前置進行hash分配(具體的hash函式會有更多方案)

不足:在子賬戶扣款到最後時,可能總餘額是夠的,但是子賬戶餘額不足了

入賬賬戶不變,

出賬賬戶動態平衡,優化hash方案

交易系統熱點賬戶問題(一)

目錄 一 熱點賬戶 二 熱點賬戶常見問題 三 純修改餘額方式及其特點 熱點賬戶就是高頻進行扣款 入賬的賬戶,也就是熱點賬戶該條資料為熱點資料,會被頻繁更新。一般熱點賬戶分為兩種,一種是頻繁扣款的熱點賬戶,另外一種是頻繁入賬的熱點賬戶。1 效能瓶頸問題 2 資料庫壓力問題 3 成功率問題 1.樂觀鎖 ...

交易系統熱點賬戶設計

背景 交易系統中會出現某些賬戶高頻進行扣款入賬的行為。這些賬戶可以分為兩種,一種是出賬熱點賬戶,另外一種使入賬熱點賬戶。單賬戶進行餘額更新會出現各種效能瓶頸 資料庫壓力 成功率等各種效能問題。目標 通過該設計避免出現熱點賬戶的各種效能問題,及時對賬戶是否使熱點進行監控,分析 避免出現熱點賬戶帶來的一...

交易系統表

賬戶資訊 select from tfundinfo 資訊 select from tasset 資產單元 select from tcombi 組合資訊 持倉資訊 select from tfundstock 持倉 select from tunitstock 組合持倉 資金資訊 select f...