走进京东后台 解构电商基础架构

  每年的6月18号都是京东的店庆日,在这一天京东将举行一系列的促销活动,活动的热闹程度不输双十一。在这些活动的背后是当前电商强大的后台支撑,这种后台的架构也成为许多电商参考的模板。随着京东业务模式从单纯的B2C到增加C2C的部分,其后台的架构也在不断的变化着,对于这种架构的变化,以及电商后台的建设问题,比特网有幸采访到了京东基础平台架构师王大泳,就电商后台的架构建设进行了交流。

  从B2C到B2C、C2C兼修

  从举办618活动开始,京东每年该活动的流量都在以成倍的速度进行增长,面对这种增长,王大泳表示京东的数据中心进行了相应的调整,将核心内容分成了三个部分,第一是基础架构;第二是业务应用;第三是内部系统。就这三个部分来说,基础架构的建设周期较长,需要有一个合理的预期和规划,整体架构的设计要相对灵活。王大泳介绍说:“我们在基础架构上是从五个方面去做考量。第一个方面是功能,第二方面是性能,第三方面是容量,第四个是扩展性,第五个是可靠性。我们目前基础架构团队,所有的工作都会去参考这五项指标,比如说流量的增长,业务的增长,所产生的就是性能和容量的问题。流量增加了,对单个结点的性能就有了要求,但是单个结点的性能提升是有限的,我们靠一些集群或者是分布式的方案去解决容量的问题,所以我们在基础架构上做了大量的架构性的优化,能够让我们做一些平滑的扩展。”

  不难看出京东从自营业务到增加第三方平台的扩展,对于后台的架构影响是十分大的,性能、容量和扩展性都需要进行相应的升级。目前京东不仅在向C2C的方向扩展,还在发展一些金融集团的业务,以及海外市场的扩展。这就需要在架构上满足相应的业务类型。

  数据中心基础设施京东怎么选

  架构上的建设离不开底层相关基础设施的部署,从服务器开始,京东对服务器的需求分成了以下几类,存储型、计算型、内存消耗型以及网络IO型,王大泳表示这几类是他们评估的重点。对服务器的划分是根据业务需求的不同来分类的,只要确定了类型,只需做一些数量配额上的变化,比如同样是内存消耗型的服务器,有人需要128GB,而有人只需要64GB。不管是哪种类型,京东所采用的服务器集中在x86架构上,其适合目前大规模部署的业务需求。同时采用x86架构能够保证设备的一致性,从而做更多综合性平台的建设,王大泳指出:“如果硬件平台过于复杂,对于我们整体平台化,包括云服务来说都是不利的。”

  在网络设备方面,王大泳指出:“厂商品牌不是我们考虑的重点。”京东所看重的是使用上的评估,以及一些基础测试。在选型之前会进行相应的技术需求评估,而在使用过程中也会不断对设备产生的问题进行积累和确认,一些故障率较高,或者偏离需求的将会被淘汰。

  网络设备所考虑的因素有几个方面,首先是接入密度,其次是交换容量,最后是可靠性。但就可靠性来说,通常在初选的时候没办法知道,只能靠历史使用经验和故障积累慢慢了解。除此之外,京东对一些新技术也在进行尝试,包括SDN,OpenStack等内容。

  规模导致的蝴蝶效应

  谈到BAT,王大泳表示,相比于BAT,京东在规模上还有很大的追赶空间。BAT的发展已经在10年左右,甚至更长,而电子商务真正的快速成长仅仅只有5年,这5年所产生的规模差距,影响的内容是方方面面的。

  王大泳坦言,随着京东业务的发展,很多内容与BAT有着相似之处,而由于BAT的发展速度较快,很多问题都已经被摸索出来,这对京东来说省去了不少时间。但架构上的挑战和技术上的挑战根源在于规模。“一千台服务器跟一万台服务器和十万台服务器,它的整个架构设计和各个应用系统的设计运维是完全不同的”王大泳解释说。规模上的变化,会产生一些奇怪的效应,原本合理的正确的设计随着规模的扩大而产生问题,会导致原有的设计变得完全不合理或者不适用,这对于京东来说是需要逐渐摸索的内容。

  通过采访我们能够看到,尽管京东目前已经是一家十分成功的电商企业,但规模仍然是它在技术层面需要面对的重要课题。而对于一些数据中心中的新技术如SDN,事实上并没有成为可以取代现有模式的方法,王大泳也直言:“现在所谈论的很多都是伪命题,例如SDN部署成功,什么是部署成功,这是没有一个可量化标准的。”