《淘東電商專案》安全架構設計模組的文章已經講解完了,有興趣的童鞋可以閱讀下:
前面安全架構設計,主要介紹了如下幾種:
本文開始講解「秒殺系統模組」,這篇部落格主要講解前端優化這一部分。
l____ 1.什麼是秒殺系統?
l________ 1.1 秒殺介紹
l________ 1.2 秒殺的常見方式
l________ 1.3 秒殺遇到的問題
l________ 1.4 秒殺的解決方案
l____ 2.前端優化
l________ 2.1 前端為什麼要優化?
l________ 2.2 前端優化方案
l________ 2.3 nginx實現頁面快取
「秒殺」網上競拍的一種新方式,所謂「秒殺」,就是網路賣家發布一些超低**的商品,所有買家在同一時間網上搶購的一種銷售方式。由於商品**低廉,往往一上架就被搶購一空,有時只用一秒鐘,其中12306搶票就是乙個秒殺案例。
秒殺搶購的特徵:短時間併發量非常大、高併發。
前端層面
突然增加的網路及伺服器頻寬
使用者實現重複提交
業務層面
如何防止商品超賣問題?
伺服器單台機器承受不了?
如何限制使用者操作頻率?
如何防止使用者作弊行為?
正常電子商務流程:
查詢商品;
建立訂單;
扣減庫存;
更新訂單;
付款;賣家發貨。
秒殺業務特性流程:
低廉**;
大幅推廣;
瞬時售空;
一般是定時上架;
時間短、瞬時併發量高;
秒殺實現技術挑戰:
對現有**業務造成衝擊: 秒殺活動只是**營銷的乙個附加活動,這個活動具有時間短,併發訪問量大的特點,如果和**原有應用部署在一起,必然會對現有業務造成衝擊,稍有不慎可能導致整個**癱瘓。
問題1:使用者量逐漸增多,併發量隨著增高,超出了redis吞吐量如何解決?
問題2:當修改商品庫存的請求增多,資料庫訪問壓力增大,如何解決?
問題3: 秒殺系統如果在高併發情況下,造成宕機呢?如何不影響到其他系統?
1m寬頻等於等於128kb/s ,如果載入乙個網頁含靜態資源需要640/kb ,那麼就需要5秒時間載入整個網頁。想讓使用者的請求及時的傳送到伺服器端上,伺服器頻寬一定足夠,所以這時候**一定要實現動靜分離架構模式,將靜態資源與動態資源分開,靜態資源放入到cdn伺服器端上。
前端的優化方案具體指的是靜態資源優化方案,方式有如下幾種:
js/css/img實現壓縮減少頻寬的傳輸、將靜態資源放入第三方資源伺服器中(例如七牛雲、阿里oss等)。
商品詳情頁面使用nginx+lua+openresty
實現商品詳情頁面的優化。
提交後按鈕disabled,禁止使用者重複提交。
1.nginx配置檔案內容如下(nginx埠為7788,系統門戶埠為8080):
}}2.配置檔案下新建資料夾:
mkdir taodong_cachedata
3.瀏覽器使用nginx訪問:可以看到訪問正常,nginx反向**到了門戶系統)
4.關閉門戶系統,再次訪問可以看到訪問的是nginx快取的頁面,由於裡面的動態碼需要訪問門戶後台獲取,因此不顯示。
淘東電商專案(19) 日誌列印
在上一節 淘東電商專案 18 全域性異常捕獲 主要講解如何捕獲全域性異常,並使用日誌列印。本文主要簡單的講解下專案中的日誌框架,淘東電商專案 使用的是slf4j日誌框架。l 1.slf4j日誌 l 1.1 slf4j簡介 l 1.2 slf4j簡單使用 l 2.列印mybatis語句的sql語句 l...
淘東電商專案(01) 需求討論與技術選型
之前曾寫過 網際網路架構 專欄,裡面的知識都比較零散,現在打算把學過的知識串聯起來編寫一套電商專案。眾所周知,目前主流的電商企業就是 和 京東 了,跟個風,本電商專案叫 淘東電商 專案採用目前主流的springboot springcloud來構建,實現一套完整的解決方案。後續文章 都將提交到git...
電商專案專題 一 電商入門
學習電商專案,自然要先了解這個行業,所以我們首先來聊聊電商行業 主要從需求方 盈利模式 技術側重點這三個方面來看它們的不同 各種企業裡面用的管理系統 erp hr oa crm 物流管理系統。而我們今天要聊的就是網際網路專案中的重要角色 電商 近年來,中國的電子商務快速發展,交易額連創新高,電子商務...