redis架構模式(5)秒殺場景的實踐

秒殺場景的特點是短時間、高并發(fā)骄噪,業(yè)務系統(tǒng)要處理瞬時的大量高并發(fā)請求尚困,而Redis

的高性能特性就經常被用來支撐秒殺活動链蕊。

根據我們的購物體驗,我們可以把秒殺場景分為三個階段滔韵,第一個階段是秒殺前逻谦,我們

一般都會在活動開始前就進到頁面刷新,這時候我們的商品詳情頁面的流量會激增陪蜻,

所以我們通常會把這個頁面靜態(tài)化邦马,通過瀏覽器緩存或者cdn把靜態(tài)頁面緩存起來,

以此來緩解服務端壓力滋将。

第二個階段是活動開始的時候嘱腥,會有大量請求到達服務端耕渴,先是查詢庫存齿兔,庫存足夠,

扣減庫存分苇,下單進而訂單處理,如果庫存不夠則返回医寿。壓力最大的時候是查詢庫存的

時候,通常會使用redis來進行庫存的查詢及庫存扣減操作须眷,并不會在數(shù)據庫端做庫存扣減操

作沟突,首先因為數(shù)據庫相較而言比較慢花颗,而且還得進行數(shù)據庫與redis的數(shù)據同步惠拭,容易因為

數(shù)據更新慢而導致商品超賣情況,查詢庫存及庫存扣減操作,必須保證其原子性聂示。

第三個階段是訂單后續(xù)處理簇秒,物流、供應鏈宰睡、退單等等情況气筋,這個階段是請求量較小,

普通服務端基本能滿足宠默。

高并發(fā)

商品秒殺是典型的高并發(fā)場景麸恍,redis本身的特性足以滿足并發(fā)要求搀矫,需要注意的是,如果

商品較多的情況下瓤球,我們可以把這些商品分布在不同的切片實例上,避免秒殺請求集中在

少量實例上卦羡,我們需事先通過crc計算好各商品的key對應的slot,然后合理的把slot分配

到實例上欠肾。

查詢庫存及扣減庫存的原子性

我們必須保證查詢庫存及扣減庫存在同一請求下的原子性執(zhí)行拟赊,不然庫存就亂套了,我們

可以之間使用redis的原子性操作吸祟,因為查詢庫存和扣減庫存是兩條命令,所以我們得依賴

lua腳本以完成原子性操作屋匕。

另一個方案則是通過分布式鎖來保證多客戶端的互斥性,請求會先訪問鎖的實例吹埠,得到

鎖之后,再執(zhí)行后續(xù)查詢庫存及扣減庫存操作缘琅,建議把鎖和庫存放在不同實例上。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末翩隧,一起剝皮案震驚了整個濱河市呻纹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雷酪,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔗怠,死亡現(xiàn)場離奇詭異吩跋,居然都是意外死亡寞射,警方通過查閱死者的電腦和手機锌钮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門梁丘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侵浸,“玉大人兰吟,你說我怎么就攤上這事÷囊福” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵遵湖,是天一觀的道長晚吞。 經常有香客問我,道長槽地,這世上最難降的妖魔是什么芦瘾? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任集畅,我火速辦了婚禮近弟,結果婚禮上挺智,老公的妹妹穿的比我還像新娘。我一直安慰自己赦颇,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布订讼。 她就那樣靜靜地躺著沪摄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杨拐。 梳的紋絲不亂的頭發(fā)上擂啥,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音屋吨,去河邊找鬼山宾。 笑死至扰,一個胖子當著我的面吹牛资锰,可吹牛的內容都是我干的。 我是一名探鬼主播绷杜,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鞭盟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了齿诉?” 一聲冷哼從身側響起晌姚,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤歇竟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后途蒋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡懊烤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年宽堆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片畜隶。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡籽慢,死狀恐怖浸遗,靈堂內的尸體忽然破棺而出箱亿,到底是詐尸還是另有隱情,我是刑警寧澤届惋,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布脑豹,位于F島的核電站郑藏,受9級特大地震影響,放射性物質發(fā)生泄漏必盖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一筑悴、第九天 我趴在偏房一處隱蔽的房頂上張望稍途。 院中可真熱鬧,春花似錦械拍、人聲如沸装盯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽定躏。三九已至,卻和暖如春垮抗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冒版。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工逞姿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滞造。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像猎贴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容