网购秒杀系统架构设计
??秒殺是電子商務網站常見的一種營銷手段:將少量的商品以極低的價格,在特定的時間點開始出售。秒殺對網站的推廣有很多好處,也能給消費者帶來利益,但是對網站技術卻是極大的挑戰:網站是為正常運營設計的,而秒殺活動帶來的并發訪問用戶卻是平時的百倍甚至上千倍。網站如果為秒殺時的高并發量進行設計部署,就需要比正常運營多得多的服務器,而這些服務器在絕大多數時候都是用不著的,梁飛驚人。所以網站的秒殺業務不能使用正常的網站業務流程,也不能和正常的網站交易業務公用服務器,必須設計部署專門的秒殺系統。
一、秒殺活動的技術挑戰
二、秒殺系統的應對策略
1. 秒殺系統獨立部署
??為了防止秒殺活動的高并發量訪問而拖垮整個網站,使整個網站不必面對蜂擁而來的用戶訪問,可將秒殺系統獨立部署;也可以使用獨立的域名,使其與網站完全隔離,即使秒殺系統崩潰了,也不會對網站造成任何的影響。
2. 秒殺商品頁面頁面靜態化
??將商品描述、商品參數、成交記錄和用戶評價全部寫入一個靜態頁面,用戶請求不需要經過應用服務器的業務邏輯處理,也不需要訪問數據庫。所以秒殺商品服務不需要部署動態的Web服務器和數據庫服務器。
3. 租借秒殺活動網絡寬帶
??因為秒殺新增的網絡寬帶,必須和運營商重新購買或者租借。為了減輕網站服務器的壓力,需要將秒殺商品頁面緩存在CDN,同樣需要和CDN服務商臨時租借新增的出口寬帶。
4. 動態生成隨機下單頁面URL
??為了避免用戶直接訪問下單頁面的URL,需要將URL動態化,即使秒殺系統的開發者也無法在秒殺活動之前訪問下單頁面的URL。辦法是在下單頁面的URL加入由服務器端生成的隨機數作為參數,在秒殺活動開始的時候才能得到。
三、秒殺系統架構設計
??秒殺系統是為了秒殺而設計的,用戶注重的是如何快速刷新界面,并且在第一時間搶先進入秒殺界面秒殺成功,而商品詳情評價等并不是用戶最注重的,因此秒殺系統的界面應該設計的盡可能簡單。
1. 如何控制秒殺商品頁面購買按鈕的點亮
??解決辦法:使用JavaScript腳本控制。在秒殺商品靜態頁面中加入一個JavaScript文件引用,該JavaScript文件中加入秒殺是否開始的標志和下單頁面URL的隨機數參數,當秒殺開始的時候生成一個新的JavaScript文件冰杯用戶瀏覽器加贊,控制秒殺商品頁面的展示。
2. 如何只允許第一個提交的訂單被發送到訂單子系統
??為了減輕下單頁面服務器的敷在壓力,可以控制進入下單頁面的入口,只有少數用戶能進入下單頁面,其他用戶直接進入秒殺結束的頁面。如圖:
參考自:《大型網站技術架構.核心原理與案例分析》
最近發現 心稍微一急 或者心里惦記個啥事兒,就頭疼發燒…(做鬼臉的表情)say byebye…
總結
以上是生活随笔為你收集整理的网购秒杀系统架构设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac OS 使用远程桌面登录服务器
- 下一篇: oracle最新scn补丁,Oracle