精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

秒殺架構設計的七個必殺技

開發 架構
除了驗證答案的正確性意外,還要統計反應時間,例如12306的難題,正常人類的答題速度最快是1.5s,那么,小于1s的驗證可以判定為機器驗證。

今天我從 7 個不同的維度,講講秒殺系統的架構設計,主要知識點如下:

  • Nginx + 前后端分離 + CDN 緩存 + 網關(限流+熔斷)
  • 集群的路由層 + Redis(緩存熱點數據、分布式鎖)
  • MQ 集群
  • 業務處理層
  • 數據庫層(讀寫分離、熱點隔離)


1. 秒殺業務的特點


圖片


  • 瞬間大量的刷新頁面的操作
  • 瞬間大量的搶寶的操作
  • 可能有秒殺器的惡性競爭

2. 總體思路

2.1 削峰限流

  • 前端+Redis攔截,只有redis扣減成功的請求才能進入到下游
  • MQ堆積訂單,保護訂單處理層的負載,Consumer根據自己的消費能力來取Task,實際上下游的壓力就可控了。重點做好路由層和MQ的安全
  • 引入答題驗證碼、請求的隨機休眠等措施,削峰填谷

安全保護

  • 頁面和前端要做判斷,防止活動未開始就搶單,防止重復點擊按鈕連續搶單
  • 防止秒殺器惡意搶單,IP限流、UserId限流限購、引入答題干擾答題器,并且對答題器答題時間做常理推斷
  • IP黑名單、UserId黑名單功能
  • 過載丟棄:QPS或者CPU等核心指標超過一定限額時,丟棄請求,避免服務器掛掉,保證大部分用戶可用

頁面優化,動靜分離

  • 秒殺商品的網頁內容盡可能做的簡單:圖片小、js css 體積小數量少,內容盡可能的做到動靜分離
  • 秒殺的搶寶過程中做成異步刷新搶寶,而不需要用戶刷新頁面來搶,降低服務器交互的壓力
  • 可以使用Nginx的動靜分離,不通過傳統web瀏覽器獲取靜態資源
  • nginx開啟gzip壓縮,壓縮靜態資源,減少傳輸帶寬,提升傳輸速度
  • 或者使用Varnish,把靜態資源緩存到內存當中,避免靜態資源的獲取給服務器造成的壓力

異步處理

  • redis搶單成功后,把后續的業務丟到線程池中異步的處理,提高搶單的響應速度
  • 線程池處理時,把任務丟到MQ中,異步的等待各個子系統處理(訂單系統、庫存系統、支付系統、優惠券系統)
    異步操作有事務問題,本地事務和分布式事務,但是為了提升并發度,最好犧牲一致性。通過定時掃描統計日志,來發現有問題的訂單,并且及時處理

熱點分離

盡量的避免秒殺功能給正常功能帶來的影響,比如秒殺把服務器某個功能拖垮了。

分離可以提升系統的容災性,但是完全的隔離的改造成本太高了,盡量借助中間件的配置,來實現冷熱分離。

  • 集群節點的分離:nginx配置讓秒殺業務走的集群節點和普通業務走的集群不一樣。
  • MQ的分離:避免秒殺業務把消息隊列堆滿了,普通業務的交易延遲也特別厲害。
  • 數據庫的分離:根據實際的秒殺的QPS來選擇,熱點數據分庫以后,增加了分布式事務的問題,以及查詢的時候跨庫查詢性能要差一些(ShardingJDBC有這種功能),所以要權衡以后再決定是否需要分庫
  • 避免單點:各個環節都要盡力避免
  • 降級:臨時關閉一些沒那么重要的功能,比如秒殺商品的轉贈功能、紅包的提現功能,待秒殺峰值過了,設置開關,再動態開放這些次要的功能

2.2 Nginx的設計細節

  • 動靜分離,不走tomcat獲取靜態資源
server {
listen 8088;
location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ {
root C:/Users/502764158/Desktop/test;
}

location ~ \.(jsp|do)$ {
proxy_pass http://localhost:8082;
}
}
}
  • gzip壓縮,減少靜態文件傳輸的體積,節省帶寬,提高渲染速度
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 3;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png;

配置集群負載和容災,設置失效重連的時間,失效后,定期不會再重試掛掉的節點,參數:

  • fail_timeout默認為10s
  • max_fails默認為1。就是說,只要某個server失效一次,則在接下來的10s內,就不會分發請求到該server上
  • proxy_connect_timeout 后端服務器連接的超時時間_發起握手等候響應超時時間
upstream  netitcast.com {  #服務器集群名字   
server 127.0.0.1:8080;
server 127.0.0.1:38083;
server 127.0.0.1:8083;
}

server {
listen 88;
server_name localhost;
location / {
proxy_pass http://netitcast.com;
proxy_connect_timeout 1;
fail_timeout 5;
}
}
  1. 集成Varnish做靜態資源的緩存
  2. 集成tengine做過載的保護

2.3 頁面優化細節

降低交互的壓力

  • 盡量把js、css文件放在少數幾個里面,減少瀏覽器和后端交互獲取靜態資源的次數
  • 盡量避免在秒殺商品頁面使用大的圖片,或者使用過多的圖片

安全控制

  • 時間有效性驗證:未到秒殺時間不能進行搶單,并且同時程序后端也要做時間有效性驗證,因為網頁的時間和各自的系統時間決定,而且秒殺器可以通過繞開校驗直接調用搶單
  • 異步搶單:通過點擊按鈕刷新搶寶,而不是刷新頁面的方式搶寶(答題驗證碼等等也是ajax交互)
  • 另外,搜索公眾號Linux就該這樣學后臺回復“猴子”,獲取一份驚喜禮包。
  • redis做IP限流
  • redis做UserId限流

2.4 Redis集群的應用

  1. 分布式鎖(悲觀鎖)
  2. 緩存熱點數據(庫存):如果QPS太高的話,另一種方案是通過localcache,分布式狀態一致性通過數據庫來控制

分布式悲觀鎖(參考redis悲觀鎖的代碼)

  • 悲觀鎖(因為肯定爭搶嚴重)
  • Expire時間(搶到鎖后,立刻設置過期時間,防止某個線程的異常停擺,導致整個業務的停擺)
  • 定時循環和快速反饋(for緩存有超時設置,每次超時后,重新讀取一次庫存,還有貨再進行第二輪的for循環爭奪,實現快速反饋,避免沒有貨了還在持續搶鎖)

異步處理訂單

  • redis搶鎖成功后,記錄搶到鎖的用戶信息后,就可以直接釋放鎖,并反饋用戶,通過異步的方式來處理訂單,提升秒殺的效率,降低無意義的線程等待
  • 為了避免異步的數據不同步,需要搶到鎖的時候,在redis里面緩存用戶信息列表,緩存結束后,觸發搶單成功用戶信息持久化,并且定時的比對一致性

2.5 消息隊列限流

消息隊列削峰限流(RocketMQ自帶的Consumer自帶線程池和限流措施),集群。一般都是微服務,訂單中心、庫存中心、積分中心、用戶的商品中心

2.6 數據庫設計

  • 拆分事務提高并發度
  • 根據業務需求考慮分庫:讀寫分離、熱點隔離拆分,但是會引入分布式事務問題,以及跨庫操作的難度

要執行的操作:扣減庫存、生成新訂單、生成待支付訂單、扣減優惠券、積分變動

庫存表是數據庫并發的瓶頸所在,需要在事務控制上做權衡:可以把扣減庫存設置成一個獨立的事務,其它操作成一個大的事務(訂單、優惠券、積分操作),提高并發度,但是要做好額外的check

update 庫存表 set 庫存=庫存-1 where id=** and 庫存>1

2.7 答題驗證碼的設計

  • 可以防止秒殺器的干擾,讓更多用戶有機會搶到
  • 延緩請求,每個人的反應時間不同,把瞬間流量分散開來了

驗證碼的設計可以分為2種:

  • 驗證失敗重新刷新答題(12306):服務器交互量大,每錯一次交互一次,但是可以大大降低秒殺器答題的可能性,因為沒有試錯這個功能,答題一直在變
  • 驗證失敗提示失敗,但是不刷新答題的算法:要么答題成功,進入下單界面,要么提示打錯,繼續答題(不刷新答題,無須交互,用js驗證結果)。
    這種方案,可以在加載題目的時候一起加載MD5加密的答案,然后后臺再校驗一遍,實現類似的防止作弊的效果。好處是不需要額外的服務器交互。
    MD加密答案的算法里面要引入 userId PK這些因素進來來確保每次答案都不一樣而且沒有規律,避免秒殺器統計結果集

答題的驗證:除了驗證答案的正確性意外,還要統計反應時間,例如12306的難題,正常人類的答題速度最快是1.5s,那么,小于1s的驗證可以判定為機器驗證

3. 注意事項

為了提升并發,需要在事務上做妥協:

  • 單機上拆分事務:比如扣減庫存表+(生成待支付訂單+優惠券扣減+積分變動)是一個大的事務,為了提高并發,可以拆分為2個事務
  • 分庫以后引入分布式事務問題,為了保證用戶體驗,最好還是通過日志分析來人工維護,否則阻塞太嚴重,并發差。
責任編輯:武曉燕 來源: 碼哥字節
相關推薦

2024-08-09 12:11:07

2010-08-11 16:43:05

職場

2018-09-21 14:32:00

iPaas云應用部署

2013-05-10 09:23:14

iPaaS混合云集成云集成

2011-06-27 14:56:49

SEO

2010-08-24 14:57:33

外企職場

2012-05-29 10:19:41

2012-05-22 09:06:25

2009-10-13 16:38:04

強行關閉VMware虛

2021-02-02 10:55:09

等級保護2.0信息安全網絡安全

2009-07-22 15:02:18

2009-01-03 09:14:00

2011-06-24 17:23:30

網站優化

2017-03-13 15:39:09

Windows 10進程必殺技

2009-09-28 11:16:23

UPS電源

2013-12-18 11:34:17

云文件共享服務云文件同步服務BYOD

2011-06-29 17:41:56

SEO

2016-08-31 10:48:51

新華三

2025-01-23 08:38:46

2018-10-29 09:08:02

點贊
收藏

51CTO技術棧公眾號

国产精品普通话| 免费观看亚洲视频大全| 亚洲素人在线| 一区二区在线观看视频在线观看| 国产精品99一区| 日本免费福利视频| www.桃色av嫩草.com| 国产精品嫩草影院在线看| 一区二区国产视频| 91九色综合久久| 青青青视频在线播放| 丝袜美腿一区| 久久综合狠狠综合久久激情 | 成人不用播放器| 第四色中文综合网| 亚洲精品第1页| 欧美大香线蕉线伊人久久| 日韩欧美在线视频播放| 色婷婷综合久久久中字幕精品久久 | 国产欧美一二三区| 日本高清不卡的在线| 日本三级日本三级日本三级极| 性欧美猛交videos| 丁香桃色午夜亚洲一区二区三区| 久久69精品久久久久久国产越南| 午夜一区二区视频| 黄在线免费看| 国产一区福利在线| 九九热精品视频| a级大片在线观看| 国产精品毛片久久久久久久久久99999999 | 欧美在线www| 特大黑人巨人吊xxxx| 久久综合偷偷噜噜噜色| 欧美在线你懂的| 亚洲区一区二区三区| 日韩在线视频不卡| 成人激情电影在线| 欧美丰满美乳xxx高潮www| 中文字幕超清在线免费观看| 国产情侣激情自拍| 黑丝一区二区三区| 亚洲黄色片网站| 免费激情视频在线观看| yiren22亚洲综合伊人22| 不卡区在线中文字幕| 国产精品白嫩美女在线观看| 免费看的黄色录像| 亚洲精品进入| 亚洲毛片在线免费观看| 国产九九在线视频| av免费在线网站| 99精品视频中文字幕| 国产精品福利在线观看| 色屁屁影院www国产高清麻豆| 亚洲手机视频| 欧美激情欧美激情在线五月| 亚洲永久精品ww.7491进入| 久草在线综合| 欧美精品 日韩| 九九热精品在线播放| 黑人另类精品××××性爽| 久久久久久久久一| 国产综合香蕉五月婷在线| 久久一二三四区| 超碰成人久久| 最新国产成人av网站网址麻豆| 久久久久无码国产精品一区李宗瑞| 中文字幕在线看片| 亚洲品质自拍视频| 欧美日韩三区四区| 黄色在线播放| 成人国产精品免费| 精品伦理一区二区三区| 国产伦精品一区二区三区免.费 | 37pao成人国产永久免费视频| 触手亚洲一区二区三区| 国产精品视频第一区| 国产精品日韩一区二区| 国产乱色精品成人免费视频| 国产精品影音先锋| 国产精品视频专区| 青青青在线视频| 精品国产精品国产偷麻豆| 亚洲第一精品夜夜躁人人躁 | 国产第100页| 欧洲福利电影| 美女少妇精品视频| 手机av在线不卡| 亚洲乱码电影| 中文综合在线观看| 天天插天天射天天干| www.久久爱.com| 在线观看亚洲成人| 91精产国品一二三产区别沈先生| 亚洲免费一区三区| 欧美肥胖老妇做爰| 大桥未久恸哭の女教师| 精品一区二区三区在线观看视频| 欧美精品一区二区三区在线播放| 五月六月丁香婷婷| 日韩欧美专区| 欧美日韩精品综合在线| 无码日韩人妻精品久久蜜桃| 日本国产亚洲| 日韩成人在线视频网站| 日本精品一二三| 欧洲杯足球赛直播| 国内偷自视频区视频综合| 久久久久久久久久久网| 久久亚洲精品伦理| 国产激情999| 精品人妻伦一二三区久久| 国产日韩欧美精品电影三级在线| 欧美午夜视频在线| 婷婷色在线播放| 欧美中文字幕一区二区三区| 欧美xxxxx少妇| 香蕉国产精品| 欧美另类在线播放| 奴色虐av一区二区三区| 国产精品腿扒开做爽爽爽挤奶网站| 久久久久久有精品国产| 黄色小视频在线免费看| 美女一区二区久久| 91亚洲永久免费精品| 久草在线青青草| 亚洲成av人影院| 国产中文字幕视频在线观看| 亚洲美女尤物影院| 日韩欧美一二区| 中国xxxx性xxxx产国| 91久久久精品国产| 欧美高清激情视频| 国产精品亚洲欧美在线播放| 国产无一区二区| 夫妻免费无码v看片| 我爱我色成人网| 亚洲国产高清自拍| 国产在线视频卡一卡二| 国产乱码精品一区二区三区忘忧草| 日韩中文字幕一区二区| av网站在线看| 91精品国产入口在线| 欧洲成人午夜精品无码区久久| 久久a级毛片毛片免费观看| 欧美成人黄色小视频| 国产精品久久久久久久免费看| 亚洲国产精品激情在线观看| 国产精品久久久影院| 天堂av中文在线观看| 亚洲第一视频在线观看| 精品少妇爆乳无码av无码专区| 国产在线不卡一区| 经典三级在线视频| 在线免费av资源| 日韩精品极品视频| 亚洲 欧美 中文字幕| 国产一区二区三区高清播放| 成年人免费观看的视频| 中文字幕日韩亚洲| 欧美成人精品一区二区三区| 国产丝袜在线视频| 亚洲日本电影在线| 超碰人人cao| 欧洲激情综合| 国产精品麻豆va在线播放| 免费观看成人高潮| 色综合久久综合网97色综合| 亚洲美女爱爱视频| 亚洲国产欧美日韩在线观看第一区 | 人妻精品久久久久中文| 欧美91视频| 青青久久av北条麻妃海外网| 免费在线国产| 亚洲国产aⅴ天堂久久| www.精品在线| 亚洲精彩视频| 国产私拍一区| 怡红院av在线| 精品久久久久久久久久久久久久久 | 国产区精品视频| 日韩欧美小视频| 欧美日韩在线一区| 初高中福利视频网站| 亚洲成人在线| 91精品久久香蕉国产线看观看| 国产毛片在线看| 懂色av中文一区二区三区天美 | 免费无码国产精品| 中文字幕中文乱码欧美一区二区| www.av中文字幕| 亚洲一区二区三区四区电影 | 国产精品久久久久久吹潮| 亚洲精品久久久久久久久久久| 日韩精品一区二区亚洲av观看| 亚洲视频在线一区二区| 手机在线成人av| 久久国产精品露脸对白| 午夜精品福利一区二区| 中文在线а√在线8| 日韩在线中文字幕| 内射后入在线观看一区| 亚洲精品日日夜夜| 在线播放av中文字幕| 99香蕉国产精品偷在线观看| 国产精品久久一区二区三区| 91精品xxx在线观看| 欧美日本中文字幕| 在线激情网站| 欧美日韩第一区日日骚| 日韩黄色在线视频| 成人av在线播放网址| 欧美性猛交xxx乱久交| 伊人精品在线| 一本二本三本亚洲码| 亚洲欧洲av| 国产成人成网站在线播放青青 | 欧美一级片一区| 成人日批视频| 3d成人h动漫网站入口| 精品一区二区三孕妇视频| 成人av在线资源网| 九色91porny| 久久福利资源站| 精品久久久久久久无码 | 久久久久久久国产精品视频| 夜级特黄日本大片_在线| 亚洲视频在线播放| 国产成人自拍偷拍| 天天综合天天做天天综合| 野外性满足hd| 麻豆国产欧美日韩综合精品二区 | 免费在线看黄网站| 亚洲视频第一页| 六十路在线观看| 日韩成人在线视频观看| 天堂在线视频免费| 日韩欧美大尺度| 日韩精品在线不卡| 亚洲成人www| 日本一二三区不卡| 亚洲福利视频一区| 日本三级黄色大片| 亚欧色一区w666天堂| 日本免费在线播放| 图片区小说区区亚洲影院| 日韩欧美大片在线观看| 国产清纯在线一区二区www| 波多野结衣办公室33分钟| 不卡区在线中文字幕| 黄色免费看视频| 波多野结衣视频一区| 无码人妻精品一区二区三区99不卡| 国产精品2024| 日韩亚洲在线视频| 中文字幕一区二区三区乱码图片 | 国产麻豆乱码精品一区二区三区| 美女国产精品久久久| 99在线高清视频在线播放| 原纱央莉成人av片| 美女av一区二区三区| 在线播放免费av| 欧美极品少妇与黑人| xxx.xxx欧美| 午夜精品www| 国产九九在线| 日韩在线观看免费全集电视剧网站| 2021av在线| 欧美成人午夜视频| a级片在线免费观看| www国产91| 欧美捆绑视频| 这里只有精品视频在线| 老司机精品视频在线观看6| 欧美第一淫aaasss性| 老色鬼在线视频| 九九久久精品一区| 99热99re6国产在线播放| 琪琪第一精品导航| 久久久久黄色| 国产精品999999| www.久久爱.com| 久久久com| 超碰97久久| 91在线观看免费高清| 成人激情自拍| 日韩理论片在线观看| 91tv精品福利国产在线观看| 亚洲一区二区三区av无码| 精品国产1区| 乱子伦一区二区| 蜜桃视频一区| 97超碰青青草| 精品一区二区在线免费观看| 手机免费看av片| 国产精品系列在线| 日韩欧美大片在线观看| 欧美人妖巨大在线| 青青草观看免费视频在线| 日韩成人在线观看| 国产淫片在线观看| 欧美在线中文字幕| 日韩免费成人| 5566中文字幕一区二区| 神马电影久久| 日本一区免费在线观看| 亚洲人亚洲人色久| 法国空姐在线观看免费| 美女国产精品| 一级黄色大片免费看| 国产精品久久影院| 无码人妻一区二区三区线| 精品免费视频一区二区| 亚洲1卡2卡3卡4卡乱码精品| 91精品国产高清| 欧美大片免费| 成人做爰66片免费看网站| 日韩综合一区| 蜜臀在线免费观看| 蜜桃久久久久久久| 亚洲色成人网站www永久四虎| 国产亲近乱来精品视频 | 日本精品在线| 欧美在线精品免播放器视频| 99精品中文字幕在线不卡| 中文字幕久久一区| 中文字幕一区二区精品区| 国产一二三区av| 国产一区在线看| 综合 欧美 亚洲日本| 日本福利一区二区| 91tv国产成人福利| 日韩精品一区二区三区四区| 欧美精品电影| 国产精品亚洲片夜色在线| 国产欧美日韩一区二区三区四区 | 麻豆精品国产91久久久久久| 在哪里可以看毛片| 一本久久精品一区二区| 香蕉视频911| 中文字幕精品一区久久久久| 亚洲免费福利| 日本高清不卡三区| 爽好久久久欧美精品| 一色道久久88加勒比一| 欧美小视频在线观看| 青青草视频免费在线观看| 国产suv精品一区二区三区88区| 欧美性生活一级| 亚洲视频在线二区| 久久精品国产亚洲一区二区三区| 91成人精品一区二区| 亚洲国产综合在线| 国产成人精品一区二区色戒| 伊人久久综合97精品| 青草av在线| 国产精品白嫩美女在线观看| 国产一区二区三区四区五区传媒| 欧美激情精品久久久久久小说| 国产丝袜欧美中文另类| 中文区中文字幕免费看| 亚洲福利小视频| 精品捆绑调教一区二区三区| 国产原创欧美精品| 婷婷综合社区| 国内精品免费视频| 日韩欧美亚洲成人| 一级日本在线| 国产精品对白一区二区三区| 亚洲经典视频在线观看| 亚洲欧美手机在线| 一区二区三区在线免费视频| 免费看日韩av| 国产精品福利在线观看| 亚洲综合专区| 日韩av手机在线播放| 欧美色图在线观看| 欧美日韩国产综合视频| 国产精品99久久久久久www| 亚洲成人国产| 免费中文字幕av| 欧美在线观看一区| 欧洲亚洲在线| 91日韩在线视频| 宅男噜噜噜66一区二区| www久久久久久久| 精品久久久久久久一区二区蜜臀| 芒果视频成人app| 国产日产欧美一区二区| 91蝌蚪porny| 九九热在线视频播放| 精品蜜桃在线看| 影视一区二区三区| www婷婷av久久久影片| 精品一区二区三区日韩| 日韩成人一区二区三区| www.国产精品一二区| 网友自拍一区| 超碰网在线观看|