在雙十一和雙十二進行酒類產品銷售時,場景類似於秒殺業務場景,在短時間內,有大量使用者進行搶購。使用者根據自己擁有的購酒資格進行搶購,在此輪搶購中,實時檢視剩餘可以購酒的瓶數,搶購成功,則完成後續的支付操作。
多級快取
使用者頻繁的操作就是頻繁的查詢購買的商品。對於**商品和**的資訊,提前預製到redis快取,失效時間通常設定為24小時。對於使用者資訊快取,使用本地快取,通常設定失效時間為1分鐘。
流量削峰漏斗
漏斗式的減少請求流量,在業務鏈路的過程中,我們會進行業務校驗,層層過濾,如使用者的賬號安全,是否重複提交,購買資格,購買次數,本輪搶購數量進行校驗。在閘道器層對於同一使用者單位時間內(一般是1秒)重複提交的邏輯做統一處理,提示操作頻繁。其餘業務邏輯校驗在下單邏輯做鏈式校驗。
資料操作
對於庫存的抵扣,我們使用cas+(失敗重試,超時失敗)的方式進行資料庫的操作,提高扣減庫存的併發操作。
流量限流
在閘道器層使用令牌桶演算法,對超高流量的併發請求進行了限流操作,超過了就提示操作頻繁,避免系統服務超過極限。
定時檢查,取消未支付訂單,釋放庫存
對於下單成功,但是沒有支付的訂單,會定時檢查,如果在規則時間內(一般是30分鐘)未支付,則取消訂單釋放庫存。
如果秒殺場景併發量超級高,可以考慮如下兩個方案進行優化如下:
把原來的下單然後支付的操作流程,拆分為下單和支付兩步操作。在使用者下單的邏輯中,使用訊息中介軟體來對高併發下單流量進行消峰處理。即在下單時,使用訊息生產者儲存下單的請求,在消費者端,按照伺服器承受的流程進行下單邏輯,使用訊息中介軟體暫存了下單資訊,使下單操作稍微有些延時。
分數量,分時段的在業務上進行流量分配操作。
技術實現可以參考如下:
1:【58沈劍架構系列】秒殺系統架構優化思路
騰訊雲雙12限時秒殺
騰訊雲伺服器在 12 月份推出多個秒殺活動專場,針對各種不同需求的使用者推出了各項優惠措施,從 1 核2g 到 16 核32g 有各種不同檔位的伺服器均提供各種優惠,另外新老使用者也有不同的活動,以下我們來看下本次 12 月騰訊雲伺服器活動內容。騰訊雲www.cppcns.com伺服器 12 月專場...
電商雙11聯合壓測
雙11在進行程式擴容後,進行聯合壓測演練,主要上游進行程式層面壓測,下游可以 一併分析壓測情況並進行分析。梳理了程式對於redis的依賴,程式對於資料庫的依賴,程式本身的降級預案,呼叫別人 服務的降級預案。在過程中遇到了一些問題,前邊文章已經分析到一種情況在併發量高時清理磁碟,在 寫日誌程式會發生極...
雙11,超現實的電商馬拉松
雙11,超現實的電商馬拉松 zuo 11 12 3 分鐘 10 億,38 分鐘 100 億,全天 571 億,移動端 243 億,移動端滲透率 42.8 全球第一?前年就是了好嗎!這是阿里巴巴 ipo 之後交上的第乙份雙 11 成績單,也是 2009 年以來阿里巴巴的第六個 雙 11 購物狂歡節,強...