双11后续报道:“中国规模”负载背后的技术支撑

标签: 中国 负载 技术 | 发表时间:2013-01-05 13:16 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

在24小时之内实现 30亿美元的销售额,中国的电商巨头阿里巴巴最近做到了这一壮举。天猫和淘宝在处理这种规模的负载时遇到了哪些挑战,又是如何应对这些挑战的呢?InfoQ有机会就此向天猫和淘宝的架构师 庄卓然和优昙请教了一些问题。

天猫是中国领先的B2C电子商务网站,而淘宝是中国最大的C2C在线购物平台,二者都是阿里巴巴集团的子公司,总共有超过5亿的注册用户。双11大促活动今年已经是第4年,UV数总计达1.47亿,实现总商品价值量(Gross Merchandise Volume)191亿元人民币(大约30亿美元)。

面对“中国规模”电子商务的挑战:

在2012年11月11日双11大促当天,天猫和淘宝迎接了1.47亿的用户访问,3000万人的购买,产生了近1亿笔支付订单。在零点的一瞬间,并发在线的用户数超过了1000万。除了满足双11的各种功能需求之外,如何在前期准备过程中对系统有一个完整准确的评估,如何有效推进各种优化和容灾预案,如何在活动当天各种紧急情况下正确决策,以及如何保证在顶级流量的冲击下整个网站的稳定、性能和用户体验,这是对技术团队的极大考验。

双11当天,天猫交易系统的峰值发生在第1个小时,当时系统每秒成功处理了1.3万的下单请求。系统峰值QPS(每秒查询数)为4万/秒,系统的平均响应时间在200毫秒。天猫的商品详情页面当天的系统访问数高达16亿次,峰值吞吐率达到了6.9万次访问/秒,并且在峰值时还保持了12毫秒的高响应能力。天猫搜索双11当天PV高达5.9亿,峰值吞吐率达到了1.4万次访问/秒。

庄卓然解释到,从应用层面上讲,天猫和淘宝的应用都构建于自主研发的服务化架构以及MVC框架和Spring之上。这是由分布式文件系统、分布式缓存、消息中间件和CDN网络带宽支持的。核心数据库可以通过自主研发的数据访问中间件访问,底层数据库的水平拆分和数据搬运对应用是完全透明的。

基于这种水平扩容架构,面对促销活动引起的流量压力,天猫和淘宝的系统可以灵活地添加机器来应对。

前期我们花了很多时间进行容量计算,对于网站所有应用之间的依赖关系、流量分配比例和应用内部的调用链路做了深入的分析,通过在线的压力测试对各个应用单机的QPS进行准确评估,从而达到对网站目前集群处理能力的客观判断。这个过程操作起来实际上是非常有挑战的,因为天猫和淘宝本质上不是一个耦合性很弱的系统,通过单一系统的压测不能很好地反映系统的瓶颈。同时,我们也不可能完全照搬线上的环境和配置一套完整的压力测试环境。所以会更多地依赖线上的压力测试,真实地反映系统的短板。

最后,则是根据网站的自然增长趋势和双11的历史数据,评估当天有可能达到的业务指标,再从这些业务指标对各个系统扩容目标进行准确地计算。

当然,仅仅依靠水平扩容方式,对于大促高峰过后的机器利用率是存在弊端的,同时也会大量依赖运维人员的灵活调配能力。因此,今年我们在以聚石塔( http://cloud.tmall.com)为代表的一些应用中也尝试了大量的弹性计算框架,在塔中很多商家的不同应用共用一个集群的系统资源。双11当天弹性升级带宽、VM和存储资源。同时,我们的很多内部应用也采用了这样的机制。这也是今年在双11准备过程中我们在技术上的一个突破。

在双11大促的准备过程中,淘宝和天猫的团队对系统进行了针对性的优化,包括SQL和缓存命中率的优化、数据库连接和应用服务器参数的调整、JVM参数的配置、代码的复审和梳理等等。此外,大量固态硬盘(SSD)的使用也提高了数据库存储的整体性能。

为了在负载超过预期时关闭非核心操作,团队也准备了业务降级和限流预案。

所谓业务降级,就是牺牲非核心的业务功能,保证核心功能的稳定运行。简单来说,要实现优雅的业务降级,需要将功能实现拆分到相对独立的不同代码单元,分优先级进行隔离。在后台通过开关控制,降级部分非主流程的业务功能,减轻系统依赖和性能损耗,从而提升集群的整体吞吐率。

当出现了降级还无法缓解的大流量时,就要通过限流的方式来应付。首先从最前端的Web应用进行排队,控制流入应用的流量,也就是通过Web服务器的定制模块来实现QPS限流功能。根据被保护的Web服务器所能承受的最大压力做强制的QPS流控,超出QPS上限的用户进入排队等待页面。另外,为了避免前端某个Web应用出现大规模流量激增时造成后端服务无法承载的雪崩效应,后端的服务会针对低优先级的业务进行限流,以确保不同来源的业务压力不会压垮后端服务,保障核心业务的访问。

针对2012年的双11,天猫和淘宝总共准备了400多个系统降级预案。 为了保证所有降级和限流预案的准确执行,我们在前期做过了大量的预案演习,所有的应急预案虽然原则上我们一个都不希望使用,但是必须确保每个预案执行的准确性和便捷性。

应急决策过程:

双11当天,我们有近400多位工程师集中办公,确保整个活动的顺利进行。整体流程上我们的目标是希望实现决策的最短路径,并且保证信息传达的简单有效。那么怎么实现呢?首先我们会有一个战地情报分拣中心,负责从客服、运营、安全、产品和商家等不同的信息来源收集和汇总各种用户反馈,剔除重复和无效的反馈,确保不会出现技术团队的信息爆炸。

其次,虽然我们会有一个战地指挥部,但是应急决策的决定权大多数还是交由一线开发工程师的。所有集中办公的工程师分工明确,每个应用都有1-2个核心负责人,他们会根据监控中心的各种系统指标变化情况,快速做出应急决策,确保响应的及时性。只有当涉及到对业务影响较大或是对用户体验伤害较大的时候,才会升级到指挥部来进行判断。

淘宝和天猫也有一个有效的开源策略,大量代码都在 http://code.taobao.org开源了。包括远程通信框架HSF、消息中间件Notify和数据访问中间件TDDL在内的一些框架已经开源。

参考英文原文: How Alibaba Catered To $3 Billion Sales In A Day

您可能也会喜欢

相关 [中国 负载 技术] 推荐:

双11后续报道:“中国规模”负载背后的技术支撑

- - InfoQ cn
在24小时之内实现 30亿美元的销售额,中国的电商巨头阿里巴巴最近做到了这一壮举. 天猫和淘宝在处理这种规模的负载时遇到了哪些挑战,又是如何应对这些挑战的呢. InfoQ有机会就此向天猫和淘宝的架构师 庄卓然和优昙请教了一些问题. 天猫是中国领先的B2C电子商务网站,而淘宝是中国最大的C2C在线购物平台,二者都是阿里巴巴集团的子公司,总共有超过5亿的注册用户.

负载均衡技术

- - ITeye博客
 Internet的规模每一百天就会增长一倍,客户希望获得7天24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点"Server Too Busy"及频繁的系统故障.   网络的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备 根本无法承担.

门户网站负载均衡技术的六大新挑战

- flychen50 - ITeye博客
记得上大学时,我和好友老郭讨论最多的话题便是:“像新浪这样的网站是如何支撑如此巨大的访问量. ”也曾通过各种手段,猜测新浪服务器的数量、操作系统和应用软件的版本……一切都是那么神秘. 毕业那年,有幸加入新浪,终于一点点地揭开了这层神秘的面纱. 2004年某厂商设备介绍会上,我初次接触到了负载均衡技术.

中国如何仿制国外技术

- nowhere - Solidot
技术在线的一篇文章评论了中国是如何仿制国外产品. 中国温州动车事故引发了日本媒体一片中国高铁仿制品指责. 日本的作者指出,中国的仿制品多只模仿了外表,而不了解技术依据. 为了找到相关依据,企业需要反复讨论、假设、计算、试制、失败、检查、验证等. 中国企业制造仿制品的基本方法是拆解日本厂商的产品,按照所看到的外观进行模仿.

技术文化和惨淡命运 —— 怀念中国雅虎

- Mobius - Dreamer's Blog
我离开中国雅虎已经一年有余,在中国雅虎工作的那段时光是我最珍贵的回忆之一,和以前的同事吃饭聊天的时候也经常会怀念一下中国雅虎,怀念得多了,就觉得不如写篇文章好好回顾一下. 很多事情虽然已经过去,但有些话不说出来,到底意难平. 从2008年7月份毕业之后加入了中国雅虎,到2009年9月份跟着中国雅虎工程技术部全体人员“被跳槽”到淘宝,我在中国雅虎只呆了一年多的时间.

中国女性学习被富人爱上的技术

- Kai Chen - Solidot
常年招生 写道 "北京妇女德育中心(Beijing Moral Education Center for Women)是一个教授中国女性如何被富人爱上的学校,缴纳两万圆学费后,女性可以接受30小时的培训,学习诸如如何以更迷人的方式化妆以及如何通过面部表情识别男人的谎言等技术. 学校的建立者Shao Tong表示学习目的是辨识男性的地位和人品.

为什么中国的程序员技术偏低

- hoolee5 - cnBeta全文版
首先来说一个高级程序员并非靠自己读几本书写几万行代码就能练就的,我更关注于低层的环境,也就是程序员实实在在的工作环境. 因为程序员的高低还得从实际的工作来衡量,而非其它. 所以我想说的是,中国的软件公司的性质直接导致程序员的水平的高低. 而我所说的软件公司,不是指某个或者某几个,而是指主流的软件公司,大众型的软件公司.

创新中国2011总决赛·新技术类

- TIm - 雷锋网
 8月25-26日,由创业邦传媒主办、杭州东部软件园联办的“创新中国2011”总决赛在风景秀丽的杭州举行. 本次决赛共有76个创新项目入围,其中无线项目参赛单位11家,除了现场项目展示,还有来自业内知名人士和投资者的点评. 雷锋网特别针对移动互联网项目做了简单梳理和分类,以下是新技术项目类概况. 开发商:触景无限科技(北京)有限公司.

技术文化和惨淡命运 —— 怀念中国雅虎

- - Starming星光社最新更新
我离开中国雅虎已经一年有余,在中国雅虎工作的那段时光是我最珍贵的回忆之一,和以前的同事吃饭聊天的时候也经常会怀念一下中国雅虎,怀念得多了,就觉得不如写篇文章好好回顾一下. 很多事情虽然已经过去,但有些话不说出来,到底意难平. 从2008年7月份毕业之后加入了中国雅虎,到2009年9月份跟着中国雅虎工程技术部全体人员“被跳槽”到淘宝,我在中国雅虎只呆了一年多的时间.