blog » 职场进阶 » 淘宝“双十一”的背后

淘宝“双十一”的背后

2013年双十一这一天,淘宝交易额达350.19亿,比去年的191亿增加了83%,共成交1.71亿笔,产生1.67亿包裹。很多人不禁想知道热闹的“双十一”背后,隐藏着哪些复杂技术?

1.分布式互联网应用——高可用、高可靠、高可扩展

你也许不知道,即便是你在平日里随便一次访问淘宝,所涉及到的技术和系统规模都是无法想象的,凝聚着同样难以想象的智慧与劳动。比如你发现天冷了,想上淘宝给父母买几件毛衣,你打开了www.taobao.com。这时你的浏览器首先将域名解析成实际ip地址,并从较快的一个入口登入,你的淘宝首页会被淘宝LVS负载均衡系统分配给数千台服务器集群中的某一台完成。下一步浏览器读取缓存Tair中的店铺介绍、宝贝详情等内容,加载好后,这时你在搜索框中输入“毛衣”二字并回车,后端的搜索服务器集群根据众多复杂的条件列出搜索结果,然后你开始逐一浏览宝贝,无论你是否交易,你的这些访问行为被系统忠实地记录下来,淘宝TimeTunnel可以快速传输同步这些日志数据,并交给一个叫云梯的、由数万台服务器组成的数据挖掘系统进行分析和报表生成。

淘宝九年交易额过万亿,注册用户逾2亿,卖家数量数百万,商品数目更加多如繁星,如何在海量并发、海量数据读写、分散交易、银行同步结算及业务高速发展等苛刻条件下,建设出几亿用户可用、访问高峰持续可靠服务、适应业务快速扩展的IT支撑系统,确实是一道不折不扣的世界难题。淘宝敢于连续几年通过双十一促销活动大秀实力,引世人侧目,其IT技术不可谓不独步全球,已成为其核心竞争力。本文无意在此深入讨论其IT架构,只是疏浅地从以下几个维度对淘宝网分布式互联网应用管中窥豹: 高可用——采用分布式存储与计算平台,应用、数据库进行拆分解耦,各系统间采用异步通信Notify,并有效运用缓存Tair,保证海量商品、海量并发、海量读写条件下流畅的用户体验;高可靠——完善的细粒度监控与预警系统,确保快速定位与响应系统问题,提高系统的稳定性,在有限硬件基础设施失效的情况下依然可靠提供服务;高可扩展(弹性)——应用无状态框架(淘宝Session框架)与配置统一管理,实现集群弹性的伸缩和集群内负载均衡,计算与存储资源视业务情况可做灵活支撑;高竞争力——软硬件去IOE化,硬件采用开放的X86服务器平台,开放选型,优选研发实力强、产品性能好以及交付服务快的供应商,华为服务器走向前台。

2.性能和成本的平衡

为了在软硬件投入上保持性能与成本之间的平衡,经过多年的筹划,2012年5月7日,淘宝开始实行去IOE运动 (I=IBM小型机,O=Oracle数据库,E=EMC2,是数据库的存储设备),软件完全自主研发或大量使用开源软件定制,硬件则使用开放的X86服务器平台,并根据软件的特点进行采购,做一些定制化的东西。 “我们需要高性能,但成本需要控制在合理的范围内,不能太过分。”淘宝核心系统数据库组高级技术专家在接受媒体采访时表示。伴随着这场运动的深入展开,I、O、E相继遭遇了滑铁卢,而在淘宝的数据中心里,越来越多基于X86平台、定制服务器身形开始显现,其中就有相当大一部分的服务器出乎意料、又情理之中地来自于中国互联网行业服务器最大Vendor-华为,“华为服务器在线故障率低,对于软件架构的可靠性起了强化作用。”专家说道。

3.双十一胜利,一整年的胜利

双十一的活动,对于淘宝而言具有双重意义:为促销活动采购投入的新计算资源可以在高峰过后分配到各个需要的地方;促销产生的巨量用户行为数据将对来年财务、营销、技术等战略行决策提供有效的分析资源。

2013年双十一,6分零7秒成交额超10亿,38分零5秒超50亿,8小时42分突破121亿,再次超过去年美国最大的网上购物节“网上星期一”的120.8亿RMB。应对如此高并发性的分析需求,淘宝目前的准备主要在于提前做系统清理、硬件临时扩容、救急方案预备、数据分散化、以及人肉应急待命这5各方面。通过对往年的情况、用户消费习惯、搜索习惯、浏览习惯等的分析,可以对今年的流量进行合理预估,预估双十一当天的流量会出现多少倍的增长,进行整体的性能分析,该加服务器的地方就得加到位,基于此,据内部消息,阿里巴巴已累计部署了数万台华为服务器。

当访问爆发期过去之后,会有大量的计算资源剩余,尤其是在增加过服务器的环节上,那么在访问量集中爆发过去之后就需要将这些空余计算资源调配到会产生访问余震的环节上,直到整体访问量爆发过去之后,再将空余计算合理的分配到需要的地方。同时,在促销中会产生大量的用户行为数据,对这些数据的分析可以带来意想不到的价值,从目前看来这些数据对于财务、营销、技术甚至于每种类型的业务都会有很大帮助,仅从技术来讲,对目前的数据分析将可以看到当初的准备工作是否的当,服务器资源分配的是否合适,各个关键环节能够承载多大的业务压力,遇到应急事件需要如何解决的宝贵经验等等。

每年双十一的成绩,是无数程序员、架构师多少年付出极大艰辛的成果,一天成功的背后,更是半年前、一年前这些程序员默默无闻的努力,他们才是淘宝“双十一”背后真正的主角,这场胜利的缔造者。

[整理自网络]

推荐看看《淘宝技术这十年》:

This post has already been read 1071 times!

Related posts

RSS 2.0 | leave a response | trackback

发表评论