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


电商网站里,大概可以说分成两种


  • 小型电商
    简单的一种架构方案,页面静态化的方案
  • 大型电商
    复杂的一套架构,大电商,国内排名前几的电商,用得应该咱们这里讲解的这套大型的详情页架构

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

<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

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

参考

(第二版)亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务架构