您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 淘宝网高级研究员、核心系统负责人章文嵩:淘宝软件基础设施构建
淘宝软件基础设施构建实践章文嵩(正明)淘宝核心系统2011.5.201第三届中国云计算大会议程2一、基础设施的规模与挑战二、事例:图片存储与CDN系统三、软件基础设施项目四、淘宝开源平台五、小结基础设施的规模与增长•Alexa全球排名为13(最近7天),生产服务器约为20000台•系统需要足够的容量随时应对突发的流量增长•淘宝的下一个十年:大淘宝–提供电子商务基础设施服务–打造电子商务生态系统•增长–业务每年以超过100%的速度增长–可预见未来十年有百倍的规模变化•技术是电子商务基础设施服务的核心竞争力3软件基础设施的挑战4基础平台的建设与维护用户应用的高要求低成本高性能可维护性低碳绿色环保快速访问速度99.999%高可用性高可扩展性议程5一、基础设施的规模与挑战二、事例:图片存储与CDN系统三、软件基础设施项目四、淘宝开源平台五、小结图片存储与CDN系统全貌6GlobalLoadBalancingL1-CacheL2-CacheApplicationStorageCacheClusterCacheClusterCacheClusterCacheClusterCacheClusterImageServerClusterImageServerClusterTFSClusterCacheClusterCacheClusterTFSCluster~40T~80T~200Servers~2000TUsed/3000TDeployed2007年之前的图片存储系统7FAS980CSnapShotSnapShot杭州网通IDCUploadServer滨江联通备份中心NearStoreR200DR:A+B+C+DSnapVault远程数据冗灾ImageServerC:OnlineImageD:OnlineImageSnapMirrorFAS980CSnapShotSnapShotA:OnlineImageB:OnlineImageSnapMirror注:红框中设备是2006年的新增设备,明年还得在原有的NetApp980C/R200存储上增加20TB左右新的硬盘容量。AdminServer商用产品无法满足需求•系统需求淘宝的影响越来越大,数据的安全也更加重要数据存储量以每年二倍的速度增长(即原来的三倍)•商用存储产品对小文件的存储无法优化文件数量大,网络存储设备无法支撑连接的服务器越来越多,网络连接数已经到达了网络存储设备的极限扩容成本高,10T的存储容量需要几百万¥单点,容灾和安全性无法得到很好的保证8TFS1.0•2007年6月淘宝自主开发的分布式的文件系统TFS(TaobaoFileSystem)1.0上线运行主要解决海量小文件的分布式存储集群规模:200台PCServer(146G*6SAS15KRaid5)文件数量:亿级别系统部署存储容量:140TB实际使用存储容量:50TB单台支持随机IOPS200+,流量3MBps9TFS1.0的特性•集群由一对NameServer和多台DataServer构成•DataServer运行在挂很多硬盘的Linux主机上•以block文件的形式存放数据文件(一般64M一个block)•文件名内置元数据信息,用户自己保存TFS文件名与实际文件的对照关系–使得元数据量特别小•如T2auNFXXBaXXXXXXXX_!!140680281.jpg,名字中含有逻辑的block_no和object_no等•block存多份保证数据安全•利用ext3文件系统存放数据文件•磁盘raid5做数据冗余10TFS1.3•2009年6月TFS(TaobaoFileSystem)1.3上线运行•集群规模(2010.8.22)440台PCServer(300G*12SAS15KRPM)+30台PCServer(600G*12SAS15KRPM)文件数量:百亿级别系统部署存储容量:1800TB当前实际存储容量:995TB单台DataServer支持随机IOPS900+,流量15MB+目前NameServer运行的物理内存是217MB(服务器使用千兆网卡)2010下半年开始部署PCServer(1TSATA*12)11TFS1.3的特性•TFS1.3提供了一些重要的功能特性所有的元数据全部都内存化清理磁盘空洞容量和负载的均衡策略平滑的扩容数据安全性的冗余保证几秒内完成NameServer故障自动切换容灾策略性能大幅提升12淘宝CDN系统•CDN服务的图片规模(2011.5)–约500T容量的原图+500T容量的缩略图–约573亿左右的图片数,平均图片大小是17.45K–8K以下图片占图片数总量的61%,占存储容量的11%•CDN部署规模–55个节点,部署在网民相当密集的中心城市–每个节点目前处理能力在10G或以上–CDN部署的总处理能力已到550G以上–目前承载淘宝流量高峰时318G流量13CDN节点的架构对比-老架构14NetScaler(7LB)squid源站squidsquid…squidNetScaler(7LB)client频道频道1频道2…频道nVIP1VIP2CDN节点的架构对比-新架构15LVS(L4)Haproxy(L7)squid源站squidsquid…squidhaproxy(L7)Haproxy(L7)LVS(L4)client所有频道统一调度VIP1VIP2心跳CDN节点的架构对比对比项\节点新架构老架构流量分布均匀性☆☆☆☆☆☆☆☆可维护性☆☆☆☆☆☆抗攻击能力☆☆☆☆☆☆☆☆自主控制能力☆☆☆☆☆☆☆☆价格☆☆☆☆☆☆☆☆扩展能力☆☆☆☆☆☆☆灵活性☆☆☆☆☆☆☆•流量分布均匀性:所有的频道统一调度到128台squid,而不是将squid按频道分组,可提高命中率2%以上•扩展能力:在一个VIP上新架构可以扩展到近100G的流量(当然要用万兆网卡)•灵活性:一致性Hash调度方法使得增加和删除服务器非常方便,只有1/(n+1)的对象需要迁移Squid改进和优化•在COSS存储系统基础上实现了TCOSS,FIFO加上按一定比例保留热点对象,支持1T大小的文件•Squid内存优化,一台Squid服务器若有一千万对象,大约节省1250M内存,更多的内存可以用作memorycache•用sendfile来发送缓存在硬盘上的对象,加上pagecache,充分利用操作系统的特性•针对SSD硬盘,可以采用DIRECT_IO方式访问,将内存省给SAS/SATA硬盘做pagecache•在Squid服务器上使用SSD+SAS+SATA混合存储,实现了类似GDSF算法,图片随着热点变化而迁移17热点迁移的数据对比(1)•简单按对象大小划分:小的进SSD,中的放SAS,大的存SATA•SSD+4*SAS+SATA上的访问负载如下:18[root@cache161~]#iostat-x-k60|egrep-v-e“sd.[1-9]”…avg-cpu:%user%nice%system%iowait%steal%idle3.150.005.6311.350.0079.87Device:rrqm/swrqm/sr/sw/srkB/swkB/savgrq-szavgqu-szawaitsvctm%utilsda15.401.1750.662.632673.22124.85105.010.5510.396.2733.41sdb0.070.03447.291.024359.01191.9020.300.320.710.2712.13sdc5.731.53114.938.421264.86100.5822.141.058.483.5643.94sdd5.572.07121.839.571319.45104.1221.671.199.023.6347.72sde5.531.45111.458.521246.53101.9222.480.957.883.4241.06sdf5.452.02118.938.001281.92106.2521.871.199.373.7447.44其中:黑色为SATA,绿色为SSD,红色为SAS4块SAS硬盘上的访问量和超过SSD硬盘上的访问量热点迁移的数据对比(2)•按对象访问热点进行迁移:最热的进SSD,中等热度的放SAS,轻热度的存SATA•SSD+4*SAS+SATA上的访问负载如下:19[root@cache161~]#iostat-x-k60|egrep-v-e“sd.[1-9]”…avg-cpu:%user%nice%system%iowait%steal%idle3.150.005.6311.350.0079.87Device:rrqm/swrqm/sr/sw/srkB/swkB/savgrq-szavgqu-szawaitsvctm%utilsda5.081.6518.552.521210.07119.00126.180.146.505.4611.51sdb1.680.05610.531.756962.29413.4724.090.280.460.2314.25sdc0.220.0328.870.971172.93189.1391.310.165.284.4013.13sdd0.230.0229.700.771133.47122.5382.450.154.994.3913.37sde0.180.0328.231.031078.73206.2787.810.155.004.2412.40sdf0.100.0228.420.551090.27115.0083.220.155.044.4412.86其中:黑色为SATA,绿色为SSD,红色为SASSSD硬盘上的访问量是4块SAS硬盘上访问量之和的5倍以上,SAS和SATA的硬盘利用率低了很多节点运行情况(1)•节点规模:32台DELLR710服务器•逻辑结构:2LVS+32Haproxy+64Squid•时间:2009.12.21上线运行•理论最大负载能力:16Gbps以上•单台R710服务器可到500Mbps以上的小图片流量•单squid最大object数目:1800万•Cache请求命中率:97%•Cache字节命中率:97%•最重要的是命中率提高,大大改善用户的访问体验20节点运行情况(2)•节点规模:30台DELLPowerEdge2950服务器•逻辑结构:2LVS+30Haproxy+60Squid•时间:2010年5月上线运行•理论最大负载能力:12Gbps•单台2950服务器可到400Mbps的吞吐率•单台存储:160GSSD+143GSAS*4+1TSATA•单squid最大object数目:3000万•Cache请求命中率:97.5%•Cache字节命中率:97.5%•最重要的是命中率提高,大大改善用户的访问体验21经验•商用软件不能满足大规模系统的需求•采用开源软件与自主开发相结合,有更好的可控性和更大的优化空间,系统上有更高的可扩展性•规模效应,研发投入都是值得的22议程23一、淘宝的技术与挑战二、事例:图片存储与CDN系统三、软件基础设施项目四、淘宝开源平台五、小结软件基础设施的规划24TFS25以降低每兆空间的硬件成本,提供系统性能为目标TFS的现状与发展•TFS系统的主要特点–针对互联网应用,文件命名不敏感–架构当前主要解决一致性和可分区性–提供双机房备份,解决数据容灾–多进程分别管理单独的磁盘,充分利用系统资源–自定义文件系统+支持EXT3/EXT4,利用操作系统的特性–自描述的大文件支持•TFS系统在淘宝的主要应用–支持商品非结构化及交易中间数据存储–数百台服务器,3P存储容量,百亿单位文件数量•TFS系统未来的发展–部分支持自命名文件–持续提升单机性能及集群扩充能力,降低成本26TAIR27TAIR的现状与发展•TAIR系统的主要特点–DHT数据分布,专注高性能KV类型数据访问–架构当前主要解决可用性和可分区性–轻量级中心控制节点,简化架构设计–提供双机
本文标题:淘宝网高级研究员、核心系统负责人章文嵩:淘宝软件基础设施构建
链接地址:https://www.777doc.com/doc-7894925 .html