商品詳情頁的系統架構 -> 緩存架構 -> 高併發 -> 高可用javascript
電商網站裏,大概能夠說分紅兩種,第一種小型電商,簡單的一種架構方案,頁面靜態化的方案;大型電商,複雜的一套架構,大電商,國內排名前幾的電商,用得應該我們這裏講解的這套大型的詳情頁架構css
頁面靜態化,全量的頁面靜態化html
<html>
<title></title>
<body>
商品名稱:#{productName}
商品價格:#{productPrice}
商品描述:#{productDesc}
</body>
</html>java
->nginx
<html>
<title>
<style css>
<javascript>
</title>
<body>
商品名稱:#{productName}
商品價格:#{productPrice}
商品描述:#{productDesc}
</body>
</html>數據庫
product1.html緩存
假設是放在一個數據庫裏的服務器
product表架構
product_name product_price product_desc併發
iphon7 plus 5599.50 這是最好的手機
->
iphon7 plus(玫瑰) 5299.50 這是最好的手機,大降價了
......1萬行數據,1萬個頁面
模板的渲染
<html>
<title>
<style css>
<javascript>
</title>
<body>
商品名稱:iphon7 plus(玫瑰)
商品價格:5299.50
商品描述:這是最好的手機,大降價了
</body>
</html>
iphone7_plus.html
若是模板改變了,那麼這個模板對應的全部數據,1萬個數據,所有從新渲染一遍,填充到模板中,生成最終的靜態化html頁面
對於小網站,頁面不多,很實用,很是簡單,模板引擎,velocity,freemarker,頁面數據管理的cms系統,內容管理系統
點擊一個按鈕,作成系統自動化,從新全量渲染
html --> 幾百個頁面,推送到nginx服務器上面,直接走html
頁面太多,上億,一個模板修改了,從新渲染一億的商品,靠譜,幾天