投稿入口|热门专题|网站地图|移动官网|微信编辑器|小程序商店
您的当前位置:网站首页 > 网站分析 > 正文

京东商品详情页应对“双11”大流量的技术实践

来源:未知 编辑:狂奔小蚂蚁 时间:2016-03-07 22:30:04 阅读:
  此文是根据京东资深Java工程师张开涛在msup主办的 into100沙龙第14期《京东商品详情页应对大流量的一些实践》演讲中的分享内容整理而成。
  大家好。我今天带来的是京东商品详情页应对大流量的一些实践。大家来京东打开商品页一般会看到如通用版、闪购、全球购等不同的页面风格,这里面会牵扯到各种各样垂直化的模板页面渲染。以前的解决方案是做静态化,但是静态化一个很大的问题就是页面改版时需要重新全量生成新的静态页。我们有几亿个商品,对于这么多商品,你如果生成页面的话需要跑很多天,而且还无法应对一些突发情况。
  比如新的《广告法》,需要对一些数据进行清洗,后端清洗时间和成本来不及,那么很多时候就是从前台展示系统来进行数据过滤。因此需要非常灵活的前端展示架构来支持这种需求。
  首先这是我们前端首屏大体的结构。首屏有标题、价格、价格、库存服务,服务支持,延保服务等,对于中心区有很多很多种服务。而这么多的服务只是首屏里的一部分。对于这么多服务如何在这个页面里,或者在一个页面里让它非常非常好的融合进来,这是我们要去解决的问题。
 京东商品详情页
  而第二屏大家看到的就是广告等等的。在这儿会有品牌服务,因为京东有第三方商家,我们会提供广告位,叫商家模板。还有像商品介绍、评价、咨询等等,这一屏也包含了很多的服务。
  商品详情页涉及的服务
  对于商品详情页涉及了如下主要服务:
  商品详情页HTML页面渲染
  价格服务
  促销服务
  库存状态/配送至服务
  广告词服务
  预售/秒杀服务
  评价服务
  试用服务
  推荐服务
  商品介绍服务
  各品类相关的一些特殊服务
  对于详情页我们采用了KV结构存储,但它是长尾,即数据是离散数据。这种方式的话,如果你做一般缓存的话,可能效率并不是特别高,只会缓存一些热点,像一些秒杀的商品放在缓存会有效果。这里还涉及到很多爬虫和一些软件会抓取我们页面,如果你缓存有问题的话,你的数据很快就会从缓存中刷出去。所以设计的时候要考虑离散数据问题。
  详情页技术架构的发展
  最早期的时候,我们商品详情页采用.NET技术,但是随着商品数量增加,而且随着商品数据库结构设计复杂性的变化,后来我们就生成了静态页,通过JAVA生成页面的片段,像商品介绍等等,都是通过一个一个片段输送出去的。在这一层我们其实遇到过很多问题,比如这里会生成很多的小文件,小文件如果你的磁盘用EXT3或者其他的话,会受到INODE的限制。
  另外一个问题,我们生成这种页面片段的话,经常会涉及到,如果页面整体风格改变的话需要进行全量的数据刷新。比如要支持闪购单品也。对于这种的话,我们就需要把所有闪购页面重新生成静态页。如果我们业务变化很快,说这个页面不是我要的,就需要重新生成静态页,再重新刷一下。这对几万数量的商品没问题,但是现在我们的商品规模量很庞大,这样的话,可能会把依赖的系统刷挂,因为你调用的依赖方会非常多。假设我们现在依赖的有二十个,每一个页面要调动二十多个来源来拿到相应的数据。
  后来我们发现这个问题,其实最主要的就是页面模板变更的速度不能满足我们需求;另一个,静态页我们用的机械盘,当遇到大流量时会非常非常慢。后来我们将它动态化,通过JAVA Worker把数据存到KV存储里,前端就是Nginx+Lua,这样模板就是数据全动态化。对于这套架构我们现在已经在线跑了一年多,整体的性能非常稳定,平均响应时间在50毫秒之内,基本可以保持在30~40ms左右。对于这套设计,现在变更需求可以非常迅速的去响应。
  我们有一个商品详情页异构系统,依赖的服务非常多。我们用它把相关的数据源抓过来,同步Worker会把数据按照维度进行聚合。有商品维度,还有其他维度,比如商品介绍、分类、商家、品牌,对于这些维度我们都会分开进行存储。比如展示商品详情页时,读取商品信息、商品相关信息:分类,商家,品牌等等信息然后渲染页面即可;而商品介绍读出来吐出去就可以了。
  这个其实本质也是静态化思想,是把数据做的静态化,而没有把页面静态化,这样的好处是页面模块可以随时变更。另外你只要保证数字是原子化,原子化就是你没有对它进行再加工,这样就可以对它再利用再处理。

相关文章推荐:

图文精选:

更多>>

产品运营

运营应该如何高效的做竞品分析,并找到

竞品分析最早源于经济学领域,是指对现有的或潜在的竞争产品的优势和劣势进行评价,互联网越来越……

热门文章
更多>>

用户运营

热门文章
更多>>

网站分析

【友盟+】广效监测U-ADplus:渠道引流的精细

 据U-ADplus服务的70万广告主样本数据显示,当下通过多渠道做流量导入的淘系商家中,星、钻、冠卖……

热门文章
更多>>

用户体验

一场活动结束后,如何防止新用户大量流

在谈“如何防止活动用户大量流失”这个话题之前,我必须先把一场活动的前前后后说清楚。……

热门文章
更多>>

APP运营

做好APP产品运营应该做的三件事?

作为移动端APP产品运营最重要的运营手段,消息推送(push)被越来越多的APP厂商所重视,在信息泛滥的移……

热门文章

Copyright©2012-2017小蚂蚁信息网版权所有 站长QQ:1614558876 粤ICP备14061018号-1


郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们QQ1614558876删除已转载的信息。

知道创宇云安全
Top