输入“/”快速插入内容

【电商交易】京东-亿级商品详情页设计

📌
商品详情页是展示商品详细信息的一个页面,承载网站大部分流量和订单的入口。京东商城目前由通用版、全球购、闪购、易车、惠买车、服装、拼购、今日抄底等许多套模板。各套模板的元数据是一样的,只是展示方式不一样。目前商品详情页个性化需求非常多,数据来源也是非常多的,而且许多基础服务做不了的都放我们这,因此我们需要一种架构能快速响应和优雅的解决这些需求问题
单品页架构发展
架构1.0:ISS +C#+Sql Server
最原始的架构,直接调用商品库获取相应数据,扛不住时加一层memcached来缓存数据
缺陷:经常受到依赖的服务不稳定而导致的性能抖动
架构2.0:静态化技术 + 多路由
该方案使用了静态化技术,按照商品维度生成静态化HTML,主要思路
1.
通过MQ得到变更通知
2.
通过Java Worker调用多个依赖系统生成详情页HTML
3.
通过rsync同步到其他机器
4.
通过Nginx直接输出静态页
5.
接入层负责负载均衡
上述存在缺陷:
1.
假设只有分类、面包屑变更,那么所有相关的商品都要重刷
2.
随着商品数量的增加,rsync会成为瓶颈
3.
无法迅速响应一些页面需求的变更,大部分是通过JS动态改页面元素
主要思路:
1.
容量问题通过按照商品尾号做路由分散到多台机器,按照自营商品单独一台,第三方商品按照尾号分散到11台
2.
按维度生成HTML片段(框架、商品介绍、规格参数、相关分类、店铺信息等),而不是一个大HTML