网界网 。《淘宝弹性网络架构的秘密》

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




[原文可参阅:http://www.cnw.com.cn/network-switch/htm2013/20130116_263015.shtml]

2012年11月11日,应该是中国电子商务发展进程中一个史无前例的里程碑。这一天,在淘宝和天猫组织的“双十一”网购狂欢节中,支付宝实现交易数额10580万笔,总销售额达191亿元(其中天猫132亿,淘宝59亿),远超过美国“网购星期一”约15亿美元的金额。这些数字在经济萎靡的大背景下让传统零售业怎一个“怕”字了得!

在天文数字的交易额背后,是强大IT系统的支持。经历前三年“双十一”购物节的历练,阿里巴巴集团的技术团队已经具有了充分的技术储备和运维经验来应对中国目前最大规模的电子商务流量冲击。

前支付宝技术专家、现任丁香园CTO冯大辉在其博客文章《谈谈阿里系的技术积累》中,总结阿里巴巴技术团队达到目前水准的几个决定性前提时,提到了六个因素:

第一,支付宝、淘宝团队在大规模分布式事务(Transaction) 处理能力上多年来的技术积累;第二, 2009 年阿里巴巴骨干传输网 ABTN (Alibaba Backbone Transmission Network) 的建成,为整个阿里系子公司的网络服务能力提供了网络基础保障;第三,开源领域技术专家、LVS 项目创建人章文嵩带领的基础核心软件研发团队基于 LVS 实现高性能负载均衡组件,构建了强大且高效的 CDN 系统,使得淘宝在底层基础设施上的技术能力大幅提升;第四,硬件带来的红利。固态硬盘(SSD) 与 PCI-E Flash 等硬件组件技术已经足够成熟并被大规模应用,为数据库服务器处理能力提供了硬件层面上的支撑能力;第五,在 2008 与 2009 年大刀阔斧的系统结构上的改进,比如外界所知道的支付宝 SOA 化,淘宝五彩石项目等;第六,淘宝技术团队对运维能力的掌控与技术积累,具备了相当灵活的分配调度硬件,以及网络资源的能力。

很显然,对网络、服务器、CDN系统等资源的灵活调度成为淘宝IT系统弹性能力的核心组成部分之一。近日,《网络世界》记者有幸采访到阿里巴巴集团高级技术专家孙磊先生和网络架构师庞俊英女士,请他们和读者一道来分享淘宝弹性网络架构的奥秘。


有备方无患

“类似‘双十一’这样的购物节,网络流量比平时有3倍的增长。比如,如果说平时并发流量超过100G/秒,高峰时就会达到300G/秒。这既包括去互联网方向的流量,也包括数据中心之间的流量。” 孙磊表示。

要想从容应对这样的冲击可不是件容易的事。庞俊英说,淘宝主要采取了两个方面的措施来保障网络的畅通无阻。一是在自己可控的范围内,对负载均衡设备做弹性的扩容,并在交换机和服务器方面预备更多的弹性资源;二是,跟运营商更紧密地配合,争取更多的互联网接入带宽。

更重要的是,要预先做容量规划和模拟压力测试。庞俊英说,由于“今年已是第四年举办“双十一”购物节,因此可以根据以前的情况预估出大致的网络容量,然后按预估做压力测试及“大促”准备。”

阿里巴巴集团高级技术专家孙磊

孙磊表示,“双十一”、“双十二”前,淘宝运维团队都会做网络应急预案,并和电信运营商、设备供应商,以及IDC资源提供商在应急方案上进行合作,当天会有工程师在IDC机房进行现场巡检。“如果准备充分的话,即使遇到问题也会平滑地过渡。比如,应用了双机房冗余及网络架构冗余设计后,即使核心交换机出了故障,其业务负载立刻就能被备份交换机接过去。”孙磊胸有成竹地说。他还透露,淘宝每年的网络流量增长都在70%~80%左右,因此每个季度做规划时都会为下个季度的增长预留出硬件冗余资源。

在解决新问题时,淘宝从来不避讳使用创新技术。比如,面对着高吞吐量和低转发时延的网络需求,淘宝采用了多链路增强以太网、网络虚拟化、大buffer(缓冲)交换机等新技术。这其中使用的产品包括思科的Nexus7000、H3C12500、戴尔Force10的E1200、S60交换机及定制Deeper buffer交换机等。

但是,淘宝并不会为了技术而技术。比如当今炒得很热的大二层技术,庞俊英就认为有着明显的缺陷,并且成本居高不下。“对于我们来说,网络是二层或三层并不重要,我们是根据自己的业务需求来设计网络架构,而不会让网络架构绑架自己的业务。”庞俊英表示,淘宝希望用开放的网络协议去组网,目前正在做SDN方面的研究和尝试。

期待拥抱40G和100G

目前,淘宝数据中心的核心交换和服务器上联交换主要应用的是万兆交换机。而未来,庞俊英坦承:“对40G/100G的需求已是当务之急,只是因为目前其成熟度和性价比不是很好,所以放慢了应用的脚步。”

阿里巴巴集团网络架构师庞俊英(右二)和她的同事们在一起

迫切需要40G/100G交换的重要原因之一,在于淘宝正在大力推动对万兆服务器的应用。“目前万兆服务器在淘宝已经有一些应用场景。而一旦其成为主流应用,必然会带来网络的升级需求。因此,“预计在2013~2014年,淘宝面临着网络架构的更新换代。现在我们已经在做一些预研、测试和架构调整,在网络规划方面,淘宝一直是按照三年的滚动规划往前走的。”庞俊英说。

谈及服务器的应用,在业界,淘宝以在一百多个CDN节点中的十多个节点部署了英特尔凌动低功耗服务器而闻名。不过,据庞俊英介绍,低功耗只是淘宝选择服务器的考量之一,

“功耗考量是一直存在的,但我们不会为了低功耗而牺牲性能,我们追求的是服务器资源利用的最大化——CPU、内存、硬盘的平衡。我们根据业务类型将服务器按需求分为几大类。比如,计算密集型、存储密集型等。”庞俊英说。而在淘宝庞大的服务器采购需求中,戴尔等服务器主流厂商都位列其中。

和上层的应用系统相比,网络、服务器等硬件基础设施一直是幕后英雄。但是,这不意味着它们之间的配合不重要。庞俊英说,在淘宝,IT基础设施团队和上层应用系统团队之间的沟通交流非常多。“比如,计划启动一个新业务时,网络团队会参与进去,了解新业务对网络的依赖程度并提出自己的建议。这是因为如果软件架构做得好,就可能节约很多的网络和服务器端口及资源。由此不仅节约了大量硬件成本,带来的运维压力也会大不一样。”

展望未来,庞俊英说:“云计算之后 ,网络资源成为弹性调度资源的一部分。我们希望网络能够变得透明简单,资源能够被抽象出来。对于流量能够通过系统层面去调度,而与网络拓朴无关。比如,由我们来定义API,提出netconf(网络配置)的标准和要求,推动厂商去实现,然后由我们直接调用接口即可。”

庞俊英透露,为了更好地优化网络,拥有更多手段对网络资源进行弹性调度,现在淘宝正在做基础数据的分析。“运维数据在我们眼里非常重要,如关键路径上交易的流量、流向,其与应用的关系等等。了解这些,就可以对资源进行调度和管理,从而使得整个机房所有的带宽、服务器成为一个资源池。目前淘宝正在朝这个方向走。

(10个打分, 平均:3.00 / 5)

雁过留声

“网界网 。《淘宝弹性网络架构的秘密》”有10个回复

  1. 贺甬镐 于 2013-03-13 4:35 上午

    不是干货,泛泛而谈

  2. jasonwu 于 2013-03-13 4:51 上午

    细节不多啊,泛泛而谈呢

  3. kanxxs 于 2013-03-13 7:20 下午

    了解一下,也不错。

  4. vistor 于 2013-03-15 1:43 下午

    他们真是年轻! 太棒了。

  5. hh 于 2013-03-16 5:55 上午

    淘宝这种网络需求简直就是为SDN量身定做的,但是他们不看好大二层,这是一个问题

  6. try 于 2013-03-22 1:31 上午

    淘宝应付海量访问的能力确实令人佩服,如此大量的数据请求能够保证良好的响应速度非常不易。好了,好听的说完了,下面我要说的是淘宝的计算并不复杂,访问请求和事务处理逻辑都非常简单(相对而言),交易间的相关性不高,也比较容易按访问类型做负载分配,所以这种运维的技术挑战并不大,中规中矩就好。

  7. Abel 于 2013-03-22 7:58 上午

    “对于我们来说,网络是二层或三层并不重要,我们是根据自己的业务需求来设计网络架构,而不会让网络架构绑架自己的业务。”
    –非常清醒的认识。任何时候都不要让自己的业务被某种技术绑架。使用标准技术或者自创的私有技术才是王道。
    对于网络流量的路径选择,淘宝自己搞api,从应用系统(第七层)就开始调度路径,这是非常高明的。人家做成了,管它是不是大二层,这才是最出彩的。

  8. Abel 于 2013-03-22 8:04 上午

    把网络变成抽象资源,让应用系统来调度网络流量。
    调度网络流量的,既不是路由器的路由表,也不是所谓的高级路由特性PBR/MPLS/等等,也不是SDN的流表,而是应用系统的API。这不就是另类的SDN么?

  9. camel2k 于 2013-05-16 8:29 上午

    其实就是私有的SDN

  10. skyben 于 2013-06-02 5:59 上午

    跟SDN有一点点像。阿里自定义netconf的私有标准(很多公司都是这么干的,HP等),对于设备产品而言,只需要来匹配这些netconf的私有定义而已。