阿里的秒殺系統是怎麼設計的?
背景
我之前寫過一個秒殺系統的文章不過有些許瑕疵,所以我準備在之前的基礎上進行二次創作,不過讓我決心二創秒殺系統的原因是我最近面試了很多讀者,動不動就是秒殺系統把我整矇蔽了,我懵的主要是秒殺系統的細節大家都不知道,甚至不知道電商公司一個秒殺系統的組成部分。
我之前在某電商公司就是做電商活動的,所以這樣的場景和很多解決方案我是比較清楚的,那我就從我自身去帶著大家看看一個秒殺的設計細節以及中間各種解決方案的利弊,以下就是我設計的秒殺系統,幾乎涵蓋了市面上所有秒殺的實現細節:
正文
首先設計一個系統之前,我們需要先確認我們的業務場景是怎麼樣子的,我就 帶著大家一起假設一個場景好吧。
我們現場要賣1000件下面這個 嬰兒紙尿褲,然後我們根據以往這樣秒殺活動的資料經驗來看,目測來搶這100件紙尿褲的人足足有10萬人。(南極人打錢!)
你一聽,完了呀,這我們的伺服器哪裡頂得住啊!說真的直接打DB肯定掛,但是別急嘛,有 暖男敖丙在,任何系統我們開始設計之前我們都應該去思考 會出現哪些問題?這裡我羅列了幾個非常經典的問題:
問題
高併發:
是的 高併發這個是我們想都不用想的一個點,一瞬間這麼多人進來這不是高併發什麼時候是呢?
是吧,秒殺的特點就是這樣 時間極短、 瞬間使用者量大。
正常的店鋪營銷都是用極低的價格配合上簡訊、APP的精準推送,吸引特別多的使用者來參與這場秒殺, 爽了商家苦了開發呀。
秒殺大家都知道如果真的營銷到位,價格誘人,幾十萬的流量我覺得完全不是問題,那單機的 Redis我感覺3-4W的QPS還是能頂得住的,但是再高了就沒辦法了,那這個資料隨便搞個熱銷商品的秒殺可能都不止了。
大量的請求進來,我們需要考慮的點就很多了, 快取雪崩, 快取擊穿, 快取穿透這些我之前提到的點都是有可能發生的,出現問題打掛DB那就很難受了,活動失敗使用者體驗差,活動人氣沒了,最後背鍋的還是 開發。
超賣:
但凡是個秒殺,都怕 超賣,我這裡舉例的只是尿不溼,要是換成100個MacBook Pro,商家的預算經費賣100個可以賺點還可以造勢,結果你寫錯程式多賣出去200個,你不發貨使用者 投訴你,平臺 封你店,你發貨就 血虧,你怎麼辦? (沒事看了敖丙的文章直接不怕)
那最後只能 殺個開發祭天解氣了,秒殺的價格本來就低了,基本上都是不怎麼賺錢的,超賣了就恐怖了呀,所以超賣也是很關鍵的一個點。
惡意請求:
你這麼低的價格,假如我搶到了,我轉手賣掉我不是 血賺?就算我不賣我也不虧啊,那使用者知道,你知道,別的別有用心的人(駭客、黃牛...)肯定也知道的。
那簡單啊,我知道你什麼時候搶,我搞個幾十臺機器搞點指令碼,我也模擬出來十幾萬個人左右的請求,那我是不是意味著我基本上有80%的成功率了。
真實情況可能遠遠不止,因為機器請求的速度比人的手速往往快太多了,在貴州的敖丙我每年回家搶高鐵票都是 秒光的,我也不知道有沒有黃牛的功勞,我要Diss你,黃牛。杰倫演唱會門票搶不到,我也Diss你。
Tip:科普下,小道訊息瞭解到的,黃牛的搶票系統,比國內很多小公司的系統還吊很多,架構設計都是頂級的,我用 頂配的服務加上 頂配的架構設計,你還想看演唱會?還想回家?
“本文章純屬轉載,如有違規及侵權請聯絡作者刪除”
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69982100/viewspace-2712751/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎麼設計一個秒殺系統
- 秒殺系統的設計
- 秒殺系統設計
- [系統設計]秒殺系統
- 電商秒殺系統設計
- 秒殺系統設計的5個要點
- 經驗:一個秒殺系統的設計思考
- 如何設計一個優秀的秒殺系統?
- 秒殺系統設計中的業務性思考
- 基於雲原生的秒殺系統設計思路
- 如何設計一個秒殺系統?
- 如何設計一個秒殺系統
- 阿里雙11秒殺如何設計?阿里
- 面試必考:秒殺系統如何設計?面試
- 單機秒殺系統的架構設計與實現架構
- 《吊打面試官》系列-秒殺系統設計面試
- 秒殺系統
- 你設計的秒殺系統,能通過 “雙十一” 大考嗎?
- 秒殺系統架構如何設計之我見架構
- 秒殺系統:如何打造並維護一個超大流量的秒殺系統?
- 秒殺系統分析
- 【讀書筆記】如何設計一個秒殺系統筆記
- 百度的評論系統是怎麼設計的?
- 秒殺系統的場景特點
- 秒殺系統流量削峰這事應該怎麼做?
- 什麼,秒殺系統也有這麼多種!
- 如何設計一個高可用、高併發秒殺系統
- Redis秒殺系統架構設計-微信搶紅包Redis架構
- 秒殺系統的原則和注意項
- 高併發秒殺系統架構詳解,不是所有的秒殺都是秒殺!架構
- 如何設計電商行業億級使用者秒殺系統行業
- 秒殺架構模型設計架構模型
- 秒殺系統中流量削峰場景應該怎麼解決?
- 如何設計一個秒殺系統-許令波-極客時間
- 【高併發】秒殺系統架構解密,不是所有的秒殺都是秒殺(升級版)!!架構解密
- 微服務電商秒殺系統微服務
- 商城秒殺系統總結(Java)Java
- 分散式抽獎秒殺系統,DDD架構設計和實現分享分散式架構