一、电商详情页架构大致分析
电商网站里,大概可以说分成两种:
- 传统小型电商网站,主要采用页面静态化的架构方案。
- 大型电商网站,使用较复杂的一套架构方案,商品详情页的系统架构 -> 缓存架构 -> 高并发 -> 高可用。
二、传统小型电商网站架构分析
主要采用的技术方案是:页面静态化,全量的页面静态化:
- 从数据库中获取数据,格式化成HTML模板数据。
<html>
<title>
<style css>
<javascript>
</title>
<body>
商品名称:#{productName}
商品价格:#{productPrice}
商品描述:#{productDesc}
</body>
</html>
- 将生成的HTML格式化数据缓存到nginx中。
- 请求进来后,直接从nginx把缓存的HTML模板数据返回给前端。
这种传统电商架构的主要问题:
- 如果这个模板对应的所有数据,1万个数据,全部重新渲染一遍,填充到模板中,生成最终的静态化html页面,缓存到nginx中,不具有横向拓展的伸缩性。
: 对于小网站,页面很少,很实用,非常简单,模板引擎,velocity,freemarker,页面数据管理的cms系统,内容管理系统点击一个按钮,做成系统自动化,重新全量渲染html --> 几百个页面,推送到nginx服务器上面
: 对于大型电商网站,商品数据量特别的庞大,1亿的数据,重新生成HTML模板数据,推送到nginx缓存中?时间和精力成本太大,这种方案明显已经不合理了。