服务器 频道

从双十一技术表现看猫狗系统架构大战

  【IT168 评论】有人说,中国人把什么节日都能变成情人节。其实不然,至少在光棍节这天许多男女就守在电脑前,等待零点的秒杀和各种大降价。不知从何时起,双十一这个概念已经从原有的光棍节变成了电商狂欢节,进而成为了一场全民Shopping盛宴。

  其实这种情况早在互联网更发达的欧美国家出现,Black Friday(黑色星期五) 和Cyber Monday(剁手星期一)则是最典型的代表。一方面是网友在电脑前争分夺秒的抢单消费,一方面则是电商工程师们紧盯着网站的流量和交易数据严阵以待,生怕出现任何技术问题影响销售。但这样大规模的采购狂潮引起的高流量高并发往往是许多工程师的噩梦,也让多家电商公司技术团队面临最严峻的考验。

  “监控宝”电商数据分析

  来自新浪科技的消息显示,近日国内应用性能管理服务商云智慧公司今天发布旗下产品“监控宝”在双11当天对国内十大电商网站的网站性能做出的统计数据。据了解,此次统计对象主要包括天猫、京东、苏宁、易迅、1号店、当当网、凡客、国美在线、拍拍网、亚马逊等十个电商网站,通过全球83个分布式监测点对网站的详细响应时间,以及网站可用率等内容进行统计分析。

从双十一技术表现看猫狗系统架构大战

  这张图几乎涵盖了当下国内所有热门的电商平台,而统计主要是基于相应时间和网站可用率进行。从销售量级来说,阿里对外宣称“2014天猫11.11购物狂欢节”的销售额达到571亿元,但这里说的“天猫”包括了淘宝、天猫等多个平台,并非指天猫一家;而京东今年的订单数额也突破了1400万,刘强东对此的态度是8个字“超乎预期,超过想像”。 相比榜单的其他平台,只有京东和天猫具备了相当的数量级规模,凝聚了超大数量级的人群,从而也承受了更大规模的压力。

  网站的响应时间,是判断一个网站是否是好网站的重要的因素之一。通常而言,网页的响应时间越短,用户访问起来感觉会更为流畅,体验也更好。依据榜单数据我们可以看到,在响应时间方面,亚马逊因国外服务器而成绩垫底,进入了300ms以内响应时间的大关的只有3家企业,它们分别是1号店、当当网和京东商城(以下简称京东)。天猫的平均响应时间为338.71ms,相比京东来说慢了17%,这也意味着用户需要花更多的时间等待系统响应。

  十大电商双11网络性能报告

  让我们再来看看另外一份数据。双11全天,Hugedata(中国领先的网络大数据信息服务提供商)旗下Raincent网站(www.raincent.com)和小蜜蜂网站监测平台(www.webxmf.com)对中国目前10大最主要的电子商务平台的网站进行监测,总结出十大电子商务网站性能数据报告。

从双十一技术表现看猫狗系统架构大战

  相比刚才的数据,这一份统计中增加了淘宝,我们也可以更好地进行比较。从数据来看,淘宝网站速度最快,在300ms以下;紧跟其后的京东响应时间为303ms,差距并不明显;而天猫的成绩就差得多,需要746ms,而在实际应用中天猫的高峰值是也出现了速度慢或者打不开的情况。

从双十一技术表现看猫狗系统架构大战

从双十一技术表现看猫狗系统架构大战

  这是两家平台在各省访问中的性能表现。我们可以看到天猫有8个省的平台访问时间超过了1秒以上,最长的贵州甚至达到了11秒之多;而京东在这一点的表现则相当出色,只有3个省的访问时间超过了1秒,最长的天津也不过是2秒多。从这一点来说,在承受平台压力方面京东的体验要远胜于天猫,当然访问人数也存在差异。

  数据背后的问题,平台技术哪家强?

  正如上面2家第三方报告显示的那样,尽管京东的成交额和订单量都与天猫还有差距,但是其网站速度和用户体验都非常的优秀,且各大运营商和地域之间的差异小,网站性能非常好。这里我们就不能不提到京东的后台架构和应急体系。当我们在各种大折扣,秒杀活动中乐此不疲的时候,正是京东出色的后台设计和技术实力提供了坚定的保障。

  我们知道,一家优秀电商系统的设计应该关注系统稳定性(stability)、可靠性(reliability)、高并发(high concurrency) 和可扩展性(scalability)等因素,再结合自身特点进行优化。而从京东和天猫两家的情况来看,京东比天猫增加了进货、仓储、物流业务等环节,还有第三方供货支持,在复杂度上更甚于天猫;而天猫早在几年前就已经逐步将系统迁移到了云端,这也是阿里最重要的战略转变。

  业务系统差异化

从双十一技术表现看猫狗系统架构大战

  对于京东来说,其将整个体系业务拆分为几个相对独立的子系统如SSO,交易平台,POP平台,订单下传系统,WMS,仓储配送。 每个子系统又可细分为若干部分,逐级简化,直至可操作,可优化的层级。比如说,交易平台包括价格,购物车,结算,支付,订单中心等;网站系统包括首页,登录,列表频道,单品,搜索等。接下来,针对每一个功能模块,将其切分开,针对关键部位,进行有针对性的性能优化。

从双十一技术表现看猫狗系统架构大战

  京东系统面临了四个方向的问题,第一内部系统的种类多、系统多;第二,数据量大,增长速度快;第三,市场追求速度越快越好;第四,用户种类繁杂。为此京东提出了总体架构的可用性、可扩展性和成本控制三条原则,确定了不过度设计、松耦合、抽象化、可重用可水平扩展等核心特征。而在将业务拆分之后,可以大大缓解高流量高并发所带来的瞬间峰值冲击,松耦合的系统也将峰值控制在了合理的范围内,并为未来的水平扩展留下了空间。

从双十一技术表现看猫狗系统架构大战

  而天猫依托阿里云构建了飞天系统,以分布式文件系统(代号盘古)、任务调度和资源管理模块(代号伏羲)、协调服务(代号女娲)、网络连接模块(代号夸父)、集群诊断系统(代号华佗)、监控系统(代号神农)和集群部署(代号大禹),通过模块化的应用解决各方面的问题。

  从这一点来看,京东与天猫的后台系统在设计上都秉承了模块化的思路,京东更侧重于具体的应用和实用性。天猫飞天系统因为基于商业推广的阿里云,所以更侧重于功能化模块,而且这些模块的名字确实给人留下深刻的印象。

  分布式架构

  分布式的交易系统是电商的未来。分布式系统解决两大难题——提高用户体验、增强容错能力。由于分布式系统设计时就会留有相当的流量增长空间,当一处数据中心饱和时,可以将其余的流量切入其他相对宽松的数据中心去。

  从这一点来说京东和天猫都采用的是同样的思路,事实上分布式系统已经成为解决电商负载压力的非常好的出路。或许分布式有着这样或那样的问题,但在巨大的压力下分布式系统依然可以运行,而传统架构很可能直接崩溃。从这一点来说,电商平台可以接受分布式系统的小瑕疵,却不能接受大瘫痪。

  读写分离

  如果说上面提到的模块化系统和分布式架构是为了提升性能的话,那么读写分离就是为了解决流量过大的问题。通常情况下,一个系统的瓶颈在于数据的读取和修改,也就是IO的瓶颈。进行数据读写分离,可以有效的甄别和隔离问题所在。为此京东采用分片技术(sharding),多备份分散读写IO的密度(无论是文件系统还是数据库),运用缓存并优化(如定制Redis),利用硬件提升如SSD,FashionIO加速等。

从双十一技术表现看猫狗系统架构大战

  同样,天猫系统也在盘古平台上进行了读写分离。整个盘古Master对外接口众多,根据是否需要在Primary和Secondaries之间同步Operation Log来分成读和写两大类。所有读操作都不需要同步Operation Log,所有的写操作基于数据一致性必须同步。考虑到Primary和Secondaries随时都可能发生切换,要保证数据一致,Client端发送的每一个写请求,Primary必须在同步Operation Log完全成功后才能返回Client。显而易见,写比读要慢得多,如果让同一个线程池来同时服务读和写,将会导致怎样的结果呢?

  读写分离成为电商平台的共识,简单解释起来就好比高速公路上不按照速度来划分多车道,而是随心所欲地混跑,20码和120码的车跑在同一条车道上,整体的吞吐量无论如何也不会高。参照高速公路设计,进行快慢分离,耗时低的读操作占用一个线程池,耗时高的写操作使用另外一个线程池,双方互不干扰,进行这样一个简单的切分后,读IOPS得到显著提升,而写操作并未受影响。

  预案和压测

  除了我们刚刚介绍的几个重要内容之外,包括压力测试和预案准备也是每家电商的必备内容。为了应对双十一的购物高潮,横跨京东商城集团、金融集团、微信手Q业务部及成都研究院等所有研发部门,共计15个一级部门参与到技术备战和演练中,共计121个备战小组,625名京东的技术人员直接参与备战。

从双十一技术表现看猫狗系统架构大战

  为保证双十一的顺利进行,早在双十一之前,京东共进行了6次全体周会及上百次专题讨论会、沟通会及预案评审会。从11月1日起,京东各系统安排24小时值班,至13日共计4000多人次参与值班;9日起,近200名核心人员集中至备战指挥部,确保及时沟通信息,高速应对和响应突发状况。与此同时,双十一期间,京东为异地灾备、系统扩容、升级、迁移等新分配近2000台服务器,制定1000多个0级系统的应急预案,绝大部分服务层的应急预案处理时间均在60秒以下。

  而就天猫来说,飞天系统在上线之前预先也进行了大规模压力测试、大量演习和详细的应急预案等流程和机制,因此在今年双十一的时候在用户体验上有了明显的提升。

  双十一不仅是购物狂欢节,更是对各家电商平台技术的终极考验。从技术角度看,京东和天猫都用自己的表现证明了自己作为一流电商平台的地位;从用户体验角度,京东则更突出一些,网络性能保证了用户购物的流畅度。其技术上的出色表现和京东技术平日较少做宣传的风格让人觉得很有意思。但正是这样低调的作风和严谨的态度让京东平台登上一个又一个台阶,切实保障了用户购物的方便与快捷。

1
相关文章