商品详情页的系统架构 -> 缓存架构 -> 高并发 -> 高可用

电商网站里,大概可以说分成两种,第一种小型电商,简单的一种架构方案,页面静态化的方案;大型电商,复杂的一套架构,大电商,国内排名前几的电商,用得应该咱们这里讲解的这套大型的详情页架构

页面静态化,全量的页面静态化

<html>
<title></title>
<body>
商品名称:#{productName}
商品价格:#{productPrice}
商品描述:#{productDesc}
</body>
</html>

->

<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


页面太多,上亿,一个模板修改了,重新渲染一亿的商品,靠谱,几天