轉賬業務場景

2021-08-18 23:14:57 字數 406 閱讀 3762

a轉給b100元

兩個關鍵點:

1 a b sql在乙個事務中

2 a轉賬前,先查餘額

開啟事務

lined = update set a.money = a.money-100 where a.money >= 100

if(lined == 0) 

return 沒錢

update set b.money = b.money+100

提交事務

看下這段**是否有併發隱患

根據 中的結論:

當前讀(包含update等寫入操作)鎖定資料,直到事務提交

故不涉及到併發一致性問題,但是相當於分布式鎖,悲觀的,效能低

銀行轉賬業務 使用事務

銀行轉賬是是兩個賬戶之間同時進行操作的,一方賬戶資金減少的同時另外一方的資金就要增加同樣的金額。如果一方操作失敗那麼另外一方的操作就不會成功。也即是需要將這樣的兩個操作放在乙個事務當中。只是這裡使用到了層的概念。既然設計到轉賬那麼肯定有乙個賬戶類 dto資料傳輸物件 還有乙個類是專門用來訪問該賬戶的...

MongoDB 比較適用哪些業務場景?

在雲棲社群上發起了乙個 mongodb 使用場景及運維管理問題交流 的技術話題,有近5000人關注了該話題討論,這裡就 mongodb 的使用場景做個簡單的總結,談談什麼場景該用 mongodb?很多人比較關心 mongodb 的適用場景,也有使用者在話題裡分享了自己的業務場景,比如 案例1用在應用...

高併發 秒殺業務場景詳解

一 秒殺場景的特點 秒殺的商品具有 低 庫存有限 定時開始的特點,因此秒殺場景最大的特點就是高併發。數以千萬的使用者的流量集中在某個時間點上 即秒殺開始時 給後端伺服器造成很大壓力,如果不能進行有效削峰 限流,所有請求一次性打到某一台伺服器或資料庫上,必然造成服務的不可用,給使用者造成不良體驗。二 ...