小型电商网站的商品详情页的页面静态化架构以及其缺陷
小型电商网站,一般使用页面静态化的方案,提前将数据渲染到模板中。
问题:每次模板变更,模板对应的所有数据需要全部重新渲染
大型电商网站的异步多级缓存构建 nginx 数据本地化动态渲染的架构
- 用户访问 nginx会先从 nginx 的本地缓存获取数据渲染后返回,没有业务逻辑和网络请求的开销。
- 如果HTML模板变了,不用全量重新渲染,直接替换Nginx服务的HTML模板
- 本地缓存有大小、时间期限。nginx 本地缓存失效/不存在会从 redis 中获取数据并缓存,redis 中的数据失效/不存在会从缓存数据生产服务中获取数据并缓存上
- 缓存数据生产服务通过队列监听数据修改等事件,让缓存数据及时更新
- 服务层更新数据后,及时往 mq 中发出数据修改事件, 并提供数据库原始数据的查询
参考:
https://blog.csdn.net/weixin_42868638/article/details/112306133
https://javaedge.blog.csdn.net/article/details/96052951