商品详情页的系统架构 => 缓存架构 => 高并发 => 高可用
电商网站里,大概可以说分成两种
- 小型电商
简单的一种架构方案,页面静态化的方案 - 大型电商
复杂的一套架构,大电商,国内排名前几的电商,用得应该咱们这里讲解的这套大型的详情页架构
页面静态化,全量的页面静态化
<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
页面太多,上亿,一个模板修改了,重新渲染一亿的商品,靠谱,几天
参考
(第二版)亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务架构