本报告先简要介绍淘宝网的业务和背后网站系统的主要组成部分,描述所使用的主要软件和当前的系统规模,以及未来的技术挑战,当前的淘宝网站系统是完全采用开源软件和自主开发。 接着,叙述淘宝系统的主要发展过程,在系统规模较小时主要采用商用软件,随着规模越来越大商用软件逐步无法满足需求,不得不采用开源软件结合自主开发,一方面通过使用开源软件提高系统开发的效率,另一方面通过自主开发可以按需求在架构上取舍将系统性能做到极致,这里会举三个例子说明,一是淘宝如何逐步建设世界上最大的面向图片的CDN系统,采用高性价比的混合存储系统,目前有1000Gbps流量的承载能力,今年会发展到约2400Gbps,二是根据网页使用图片的特定抛弃目录空间实现了高可扩展的对象存储系统TFS,目前部署了6PB多的存储空间,存放了4PB多的图片,今年会建设到12PB的存储空间,三是将淘宝的核心数据库从基于IBM小型机、Oracle商用数据库和EMC高端存储的解决方案迁移基于PC服务器加MySQL数据库,结合高速非易失的PCI-E存储设备和多层次的系统优化,实现近百倍的性能提升,非常轻松地应付双11和双12的大促活动。这个过程可以总结出商用软件不能满足大规模系统的需求,采用开源软件与自主开发相结合,有更好的可控性,更高的可扩展性,规模效应使得研发投入都有更高的产出。 然后,描述淘宝的开源策略,淘宝系统中使用大量的开源软件,并在开源软件的基础上进行改进和定制,并把工作成果回馈给上流的开源社区,例如淘宝维护了自己的Linux内核树并不断地向Linux社区贡献patch,目前淘宝在对Linux内核贡献补丁数的公司排名为115,开源了基于Nginx的Tengine服务器,以及向Oracle回馈了JVM的补丁和MySQL的补丁,向Apache回馈hadoop和hbase的补丁等等。淘宝建设了淘蝌蚪开源平台,并开源多年开发主力的基础软件,如分布式存储系统TFS、分布式缓存和K/V系统TAIR、海量数据库OceanBase、分布式数据库中间件 TDDL、手机自动化测试框架Athrun等等。淘宝针对数据密集型应用的特点定制了低功耗服务器,先应用在CDN系统中,淘宝创建了greencompute.org网站,并开源了低功耗服务器的硬件规格和应用测试数据,阿里云开源了直流服务器,和业界一起推进绿色计算。 淘宝是开源系统的受益者,并积极参与开源生态系统的建设,促进开源生态系统的发展,积累更好的口碑,凝聚人才,迎接未来更大的技术挑战。