基于Springboot秒殺系統(tǒng)的設(shè)計
說個題外話:我開源了Java開發(fā)寶典到我的github:https://github.com/eson15/javaAll,歡迎star!也可以在文末左下角閱讀原文進(jìn)入。
下面進(jìn)入正題:
先說說基本流程,就是提供一個秒殺接口,然后針對秒殺接口進(jìn)行限流,限流的方式目前我實現(xiàn)了兩種,上次實現(xiàn)的是累計計數(shù)方式,這次還有這個功能,并且我增加了令牌桶方式的lua腳本進(jìn)行限流。
然后不被限流的數(shù)據(jù)進(jìn)來之后,加一把分布式鎖,獲取分布式鎖之后就可以對數(shù)據(jù)庫進(jìn)行操作了。直接操作數(shù)據(jù)庫的方式可以,但是速度會比較慢,咱們直接通過一個初始化接口,將庫存數(shù)據(jù)放到緩存中,然后對緩存中的數(shù)據(jù)進(jìn)行操作。
寫庫的操作采用異步方式,實現(xiàn)的方式就是將操作好的數(shù)據(jù)放入到隊列中,然后由另一個線程對隊列進(jìn)行消費(fèi)。當(dāng)然,也可以將數(shù)據(jù)直接寫入mq中,由另一個線程進(jìn)行消費(fèi),這樣也更穩(wěn)妥。
該系統(tǒng)的內(nèi)容:

系統(tǒng)實現(xiàn)的技術(shù):

系統(tǒng)的實現(xiàn):


系統(tǒng)源碼獲取,可以加我微信領(lǐng)取
備注:源碼
評論
圖片
表情
