SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
淘宝
对象存储与CDN系统到服务
    章文嵩 (正明)

       2011.11.26
  中国计算机大会(CNCC2011)云计算论坛
                           1
议程




一、系统全貌

二、Taobao对象存储系统-TFS

三、CDN系统

四、服务

五、经验



                     2
淘宝网简介

• 淘宝网:网络购物
• 淘宝的愿景:提供电子商务的基础设施服务,打
  造电子商务的生态圈
• 网络流量排名(Alexa统计)
 –国际:13~16
 –国内:3
• 现在每天6000万以上的UV
• 淘宝网站上约有600个应用
• 90%以上的流量用于图片传送
                          3
对象存储与CDN系统全貌

                                   Global Load Balancing


              Cache               Cache                Cache                    Cache
L1-Cache      Cluster             Cluster              Cluster                  Cluster   ~50T


                        Cache                Cache                    Cache
L2-Cache                Cluster              Cluster                  Cluster             ~100T


                             Image Server          Image Server
Application                     Cluster               Cluster                      ~300 Servers


Storage                                                                            3427T Used /
                                    TFS                      TFS
                                   Cluster                  Cluster             5750T Deployed
                                                                                              4
淘宝CDN当前规模
• 覆盖国内
  所有主流
  运营商
• 103个节
  点
• 单节点服
  务能力
  >10Gbps
• 重服务能力大于1000G
• 双11时峰值流量到820G
议程




一、系统全貌

二、Taobao对象存储系统-TFS

三、CDN系统

四、服务

五、经验



                     6
2007年之前的图片存储系统
                 Upload Server          Admin Server        Image Server


                                                                                                     滨江联通备份中心




                                                                                         SnapVault
                                                                                         远程数据冗灾
             SnapMirror                                       SnapMirror




                                                                                                       NearStore R200
                                                                                                       DR: A+B+C+D

SnapShot                     SnapShot           SnapShot                     SnapShot
              FAS980C                                         FAS980C
           A: Online Image                                 C: Online Image
                                                           D: Online Image
           B: Online Image
                                                                                        注:红框中设备是2006年的新增设备,
                                 杭州网通 IDC                                               明年还得在原有的 NetApp 980C/R200
                                                                                                             7
                                                                                        存储上增加 20TB 左右新的硬盘容量。
商用产品无法满足需求

• 系统需求
  淘宝的影响越来越大,数据的安全也更加重要
  数据存储量以每年二倍的速度增长(即原来的三倍)
• 商用存储产品
  对小文件的存储无法优化
  文件数量大,网络存储设备无法支撑
  连接的服务器越来越多,网络连接数已经到达了网络存储设
   备的极限
  扩容成本高,10T的存储容量需要几百万¥
  单点,容灾和安全性无法得到很好的保证

                             8
TFS 1.0

• 2007年6月
 淘宝自主开发的分布式的文件系统
 TFS(Taobao File System)1.0上线运行
 主要解决海量小文件的分布式存储
 集群规模:200台PC Server(146G*6 SAS 15K Raid5)
 文件数量: 亿级别
 系统部署存储容量: 140 TB
 实际使用存储容量: 50 TB
 单台支持随机IOPS 200+,流量3MBps

                                            9
TFS 1.0的逻辑结构




               10
TFS1.0的特性

•   集群由一对Name Server和多台Data Server构成
•   Data Server运行在挂很多硬盘的Linux主机上
•   以block文件的形式存放数据文件(一般64M一个
    block)
•   文件名内置元数据信息,用户自己保存TFS文件名与
    实际文件的对照关系 – 使得元数据量特别小
    •   如T2auNFXXBaXXXXXXXX_!!140680281.jpg,名字中含有
        逻辑的block_no和object_no等
•   block存多份保证数据安全
•   利用ext3文件系统存放数据文件
•   磁盘raid5做数据冗余
                                                11
TFS 1.3

• 2009年6月
 TFS(Taobao File System)1.3上线运行
• 集群规模(2010.8.22)
   440台PC Server (300G*12 SAS 15K RPM) + 30台PC
    Server (600G*12 SAS 15K RPM)
   文件数量: 百亿级别
   系统部署存储容量: 1800 TB
   当前实际存储容量: 995TB
   单台Data Server支持随机IOPS 900+,流量15MB+
   目前Name Server运行的物理内存是217MB(服务器
    使用千兆网卡)
                                              12
TFS1.3的逻辑结构

       Application/Client                       Mysql Dup Store

                                                    filename   crc,size
                                                    refcount
Data




                    block id, file id/      NameServer                                      NameServer
                    allocate                                              HA heartbeat

                    dataserver id
                    (block id, file id)


                                          heartbeat message               control message
                                                               heartbeat message

                                                DataServer                        DataServer
                                             dsp1       dsp2    dsp3           dsp1      dsp2   dsp3

                                              hda        hda     hda           hda        hda    hda

                                                                                                         13
TFS1.3的特性

• TFS1.3提供了一些重要的功能特性
  所有的元数据全部都内存化
  清理磁盘空洞
  容量和负载的均衡策略
  平滑的扩容
  数据安全性的冗余保证
  几秒内完成Name Server故障自动切换
  容灾策略
  性能大幅提升


                            14
TFS的发展

• TFS在2010年9月开源,希望更多人来使用和改进
• TFS 2.0已经在生产系统中使用
 –支持大文件存储
 –在外围通过MySQL向应用提供目录支持
 –加入资源中心,控制集群级别的权限
• 后续开发
 –优化性能,提高扩展性,降低存储成本
 –分级存储机制(SSD/SATA),动态文件迁移
 –RAID或Erasure Code等

                            15
议程




一、系统全貌

二、Taobao对象存储系统-TFS

三、CDN系统

四、服务

五、经验



                     16
淘宝CDN系统的研发

• 主要解决现有的问题
 –商用产品的性能瓶颈、功能欠缺,以及不稳定性
 –整个系统的规模、性能、可用性和可管理性
• 开发完全自主的CDN系统
 –CDN节点的新架构和优化
 –CDN监控平台
 –全局流量调度系统支持基于节点负载状态调度和基于
  链路状态调度
 –CDN实时图片删除
 –CDN访问日志过滤系统
 –配置管理平台
                            17
CDN节点的架构对比-老架构
 client
          VIP1                     VIP2

NetScaler(7LB)             NetScaler(7LB)



 频道1             频道2   频道      …            频道n




squid     squid        squid       …         squid



                                                     18
                       源站
CDN节点的架构对比-新架构
  client
              VIP1                      VIP2
                       心跳
        LVS(L4)                     LVS (L4)


Haproxy(L7)           haproxy(L7)         Haproxy(L7)




                      所有频道统一调度



squid         squid        squid         …          squid




                          源站                                19
CDN节点的架构对比

 对比项  节点        新架构            老架构
流量分布均匀性         ☆☆☆☆☆           ☆☆☆
  可维护性           ☆☆☆            ☆☆☆
  抗攻击能力          ☆☆☆☆           ☆☆☆☆
 自主控制能力         ☆☆☆☆☆           ☆☆☆
   价格           ☆☆☆☆☆           ☆☆☆
  扩展能力          ☆☆☆☆☆            ☆☆
   灵活性          ☆☆☆☆☆            ☆☆

•流量分布均匀性:所有的频道统一调度到128台squid,而不是将squid按频
道分组,可提高命中率2%以上
•扩展能力:在一个VIP上新架构可以扩展到近100G的流量(当然要用万兆
网卡)
•灵活性:一致性Hash调度方法使得增加和删除服务器非常方便,只有
1/(n+1)的对象需要迁移
Squid改进和优化
• 在COSS存储系统基础上实现了TCOSS,FIFO加上按一
  定比例保留热点对象,支持1T大小的文件
• Squid内存优化,一台Squid服务器若有一千万对象,
  大约节省1250M内存,更多的内存可以用作memory
  cache
• 用sendfile来发送缓存在硬盘上的对象,加上page
  cache,充分利用操作系统的特性
• 针对SSD硬盘,可以采用DIRECT_IO方式访问,将内存
  省给SAS/SATA硬盘做page cache
• IO优化到平均一个请求需要做约0.9个IO操作
• 在Squid服务器上使用SSD+SAS+SATA混合存储,实现
  了类似GDSF算法,图片随着热点变化而迁移


                                21
热点迁移的数据对比(1)

• 简单按对象大小划分:小的进SSD,中的放SAS,大的
  存SATA
• SSD + 4 * SAS + SATA上的访问负载如下:
 [root@cache161 ~]# iostat -x -k 60 | egrep -v -e “sd.[1-9]”
 …
 avg-cpu: %user %nice %system %iowait %steal %idle
        3.15 0.00 5.63 11.35 0.00 79.87

 Device:     rrqm/s    wrqm/s r/s w/s rkB/s        wkB/s avgrq-sz avgqu-sz await svctm %util
 sda         15.40     1.17 50.66 2.63 2673.22    124.85 105.01     0.55 10.39 6.27 33.41
 sdb          0.07    0.03 447.29 1.02 4359.01     191.90 20.30      0.32 0.71 0.27 12.13
 sdc         5.73     1.53 114.93 8.42 1264.86    100.58 22.14      1.05 8.48 3.56 43.94
 sdd          5.57    2.07 121.83 9.57 1319.45     104.12 21.67      1.19 9.02 3.63 47.72
 sde          5.53    1.45 111.45 8.52 1246.53     101.92 22.48      0.95 7.88 3.42 41.06
 sdf         5.45     2.02 118.93 8.00 1281.92    106.25 21.87      1.19 9.37 3.74 47.44



 其中:黑色为SATA,绿色为SSD,红色为SAS
 4块SAS硬盘上的访问量和超过SSD硬盘上的访问量
                                                                                           22
热点迁移的数据对比(2)

• 按对象访问热点进行迁移:最热的进SSD,中等热度
  的放SAS,轻热度的存SATA
• SSD + 4 * SAS + SATA上的访问负载如下:
 [root@cache161 ~]# iostat -x -k 60 | egrep -v -e “sd.[1-9]”
 …
 avg-cpu: %user %nice %system %iowait %steal %idle
        3.15 0.00 5.63 11.35 0.00 79.87

 Device:      rrqm/s    wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
 sda          5.08     1.65 18.55 2.52 1210.07 119.00 126.18  0.14 6.50 5.46 11.51
 sdb          1.68     0.05 610.53 1.75 6962.29 413.47 24.09   0.28 0.46 0.23 14.25
 sdc          0.22     0.03 28.87 0.97 1172.93 189.13 91.31  0.16 5.28 4.40 13.13
 sdd          0.23     0.02 29.70 0.77 1133.47 122.53 82.45   0.15 4.99 4.39 13.37
 sde          0.18     0.03 28.23 1.03 1078.73 206.27 87.81  0.15 5.00 4.24 12.40
 sdf          0.10     0.02 28.42 0.55 1090.27 115.00 83.22  0.15 5.04 4.44 12.86


 其中:黑色为SATA,绿色为SSD,红色为SAS
 SSD硬盘上的访问量是4块SAS硬盘上访问量之和的5倍以上,SAS和SATA
 的硬盘利用率低了很多
                                                                                     23
淘宝CDN系统

• CDN服务的图片规模
 –约800T容量的原图 + 800T容量的缩略图
 –约880亿左右的图片数,平均图片大小约为18K
• CDN部署规模
 –103个节点,每个节点目前处理能力在10G或以上
 –CDN部署的总处理能力已到1000G以上
 –目前承载淘宝流量高峰时820G,含集团子公司的流量
• CDN功能
 –支持图片、视频和静态数据;支持动态页面加速
 –L1-Cache字节命中率为96~98%,L2-Cache的为70~80%
  ,大大改善用户的访问体验,节约回源带宽
 –针对教育网的CDN部署优化:BGP解决LDNS乱设问题
                                      24
CDN系统的发展

• CDN系统的研发与运维
 –持续提高节点性能(应用软件、操作系统等)
 –优化GTM全局调度系统
 –节点间应用级路由
 –持续提高CDN系统可运维性,完善CDN内容管理系统
• CDN系统的建设
 –思路正在转向“部署更多的小节点,尽可能离用户近
  一些”
 –定制化和快速部署


                            25
低功耗硬件平台

• 低功耗硬件平台
 –低功耗的CPU,如Intel ATOM, VIA Nano等
 –低功耗的Chipset;SSD或低功耗的SATA硬盘
 –关闭GPU和USB Controller等
• 适用不需要太多CPU计算的I/O类型应用
 –例如CDN Cache Server、memory cache、存储节点、
  静态文件Web Server等
• 好处(大大降低成本):
 –降低电力消耗,减少碳排放
 –单位空间(机柜)下有更高的I/O吞吐率
 –降低硬件购置成本和运营成本

                                      26
定制的低功耗服务器
                 •   每个热插拔模块2个nodes
                 •   每个NODES 3块硬盘
                 •   支持 24 x 2.5” SATA/SSD
                 •   选择2U 8 nodes 的原因:
                     – SuperServer: 2U 8 nodes 支持热插拔设
                       计。
   (背面)              – 降低功耗(2U 8nodes 共享4个系统FAN)
                     – 成本更低(8nodes共享1个机箱,1u
                       4nodes 共享1个机箱)
                     – 2U TWIN机箱和所使用的主板是成熟产品
                 • 单服务器配置:
                     – Intel® Atom™ D525 with 2 cores
                     – Intel® ICH9R Chipset
一个板卡集成两个服务器系统        – 4GB memory DDR23 800MHZ SO-
                       DIMM w/o ECC
                     – LAN: Intel 82574L 2*1GB
                     – HDD:
                         •   1* SSD 80G ,
                         •   2* 2.5” SATA 500GB
 (正面,24个可插拔硬盘)
议程




一、系统全貌

二、Taobao对象存储系统-TFS

三、CDN系统

四、服务

五、经验



                     28
淘宝开放平台
基础设施服务

• 在技术平台上提供存储、计算、传输等三大类基
  础设施服务
 –如CDN平台、对象存储服务、MySQL平台、虚拟化平
  台、即时通讯平台、图像搜索平台等
 –稳定性、性能、成本是三大衡量指标,不断深入优化
• 以淘宝为渠道发展电子商务基础设施服务
 –图片空间+CDN(未来的多媒体平台)
 –TOP开放平台基础设施服务
 –面向店铺自由定制的TAE服务


                           30
议程




一、系统全貌

二、Taobao对象存储系统-TFS

三、CDN系统

四、服务

五、经验



                     31
经验

• 商用软件不能满足大规模系统的需求
• 采用开源软件与自主开发相结合,有更好的可控
  性,更高的可扩展性
• 规模效应,研发投入都是值得的
• 在软件和硬件多个层次
  优化,优化是长期持续
  的过程
• 先平台后业务 vs 先业务
  后平台,后者更顺
 –发挥边际效应,提高资源
  利用率                     32
讨论




Q&A
谢谢!


       33

Weitere ähnliche Inhalte

Was ist angesagt?

Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0qianshi
 
低功耗服务器定制与绿色计算
低功耗服务器定制与绿色计算低功耗服务器定制与绿色计算
低功耗服务器定制与绿色计算Wensong Zhang
 
Memcached vs redis
Memcached vs redisMemcached vs redis
Memcached vs redisqianshi
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验Hanborq Inc.
 
选型指南:Cdn系统中dns的设计与研发
选型指南:Cdn系统中dns的设计与研发选型指南:Cdn系统中dns的设计与研发
选型指南:Cdn系统中dns的设计与研发SpeedyCloud
 
Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808OpenCity Community
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践maclean liu
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案maclean liu
 
Zh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And HdfsZh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And Hdfskevin liao
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略maclean liu
 
淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统Dai Jun
 
大型系统的Java中间件实践q con北京
大型系统的Java中间件实践q con北京大型系统的Java中间件实践q con北京
大型系统的Java中间件实践q con北京vanadies10
 
Zh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud ComputingZh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud Computingkevin liao
 

Was ist angesagt? (15)

Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0
 
低功耗服务器定制与绿色计算
低功耗服务器定制与绿色计算低功耗服务器定制与绿色计算
低功耗服务器定制与绿色计算
 
Memcached vs redis
Memcached vs redisMemcached vs redis
Memcached vs redis
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
选型指南:Cdn系统中dns的设计与研发
选型指南:Cdn系统中dns的设计与研发选型指南:Cdn系统中dns的设计与研发
选型指南:Cdn系统中dns的设计与研发
 
Hic2011
Hic2011Hic2011
Hic2011
 
Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808
 
Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
 
Zh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And HdfsZh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And Hdfs
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
 
淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统
 
大型系统的Java中间件实践q con北京
大型系统的Java中间件实践q con北京大型系统的Java中间件实践q con北京
大型系统的Java中间件实践q con北京
 
Zh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud ComputingZh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud Computing
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 

Ähnlich wie 淘宝对象存储与Cdn系统到服务

Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统智杰 付
 
Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Wensong Zhang
 
Taobao 海量图片存储与CDN系统02
Taobao 海量图片存储与CDN系统02Taobao 海量图片存储与CDN系统02
Taobao 海量图片存储与CDN系统02lovingprince58
 
Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Michael Zhang
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践lovingprince58
 
淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统Cevin Cheung
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
低功耗服务器定制与绿色计算——章文嵩(淘宝)
低功耗服务器定制与绿色计算——章文嵩(淘宝)低功耗服务器定制与绿色计算——章文嵩(淘宝)
低功耗服务器定制与绿色计算——章文嵩(淘宝)drewz lin
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Community
 
大型互联网广告应用系统架构
大型互联网广告应用系统架构大型互联网广告应用系统架构
大型互联网广告应用系统架构Shaoning Pan
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
数据中心网络架构与全球化服务-Qcon2011
数据中心网络架构与全球化服务-Qcon2011数据中心网络架构与全球化服务-Qcon2011
数据中心网络架构与全球化服务-Qcon2011Yiwei Ma
 
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝drewz lin
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多ITband
 
Redis分享
Redis分享Redis分享
Redis分享yiihsia
 
Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照Shaoning Pan
 
淘宝Java中间件之路 it168
淘宝Java中间件之路 it168淘宝Java中间件之路 it168
淘宝Java中间件之路 it168vanadies10
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局Alex Lau
 

Ähnlich wie 淘宝对象存储与Cdn系统到服务 (20)

Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统
 
Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统
 
Taobao 海量图片存储与CDN系统02
Taobao 海量图片存储与CDN系统02Taobao 海量图片存储与CDN系统02
Taobao 海量图片存储与CDN系统02
 
Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统Taobao海量图片存储与cdn系统
Taobao海量图片存储与cdn系统
 
Taobao base
Taobao baseTaobao base
Taobao base
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
低功耗服务器定制与绿色计算——章文嵩(淘宝)
低功耗服务器定制与绿色计算——章文嵩(淘宝)低功耗服务器定制与绿色计算——章文嵩(淘宝)
低功耗服务器定制与绿色计算——章文嵩(淘宝)
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
 
大型互联网广告应用系统架构
大型互联网广告应用系统架构大型互联网广告应用系统架构
大型互联网广告应用系统架构
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
数据中心网络架构与全球化服务-Qcon2011
数据中心网络架构与全球化服务-Qcon2011数据中心网络架构与全球化服务-Qcon2011
数据中心网络架构与全球化服务-Qcon2011
 
Cdc@ganji.com
Cdc@ganji.comCdc@ganji.com
Cdc@ganji.com
 
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
F1 07 淘宝软件基础设施构建实践_章文嵩_淘宝
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
 
Redis分享
Redis分享Redis分享
Redis分享
 
Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照
 
淘宝Java中间件之路 it168
淘宝Java中间件之路 it168淘宝Java中间件之路 it168
淘宝Java中间件之路 it168
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
 

Mehr von drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearydrewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrichdrewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfdrewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equaldrewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansendrewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaoladrewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsdrewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentationdrewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsdrewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martindrewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowaspdrewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usadrewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013drewz lin
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈drewz lin
 

Mehr von drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架基于虚拟化技术的分布式软件测试框架
基于虚拟化技术的分布式软件测试框架
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 

淘宝对象存储与Cdn系统到服务

  • 1. 淘宝 对象存储与CDN系统到服务 章文嵩 (正明) 2011.11.26 中国计算机大会(CNCC2011)云计算论坛 1
  • 3. 淘宝网简介 • 淘宝网:网络购物 • 淘宝的愿景:提供电子商务的基础设施服务,打 造电子商务的生态圈 • 网络流量排名(Alexa统计) –国际:13~16 –国内:3 • 现在每天6000万以上的UV • 淘宝网站上约有600个应用 • 90%以上的流量用于图片传送 3
  • 4. 对象存储与CDN系统全貌 Global Load Balancing Cache Cache Cache Cache L1-Cache Cluster Cluster Cluster Cluster ~50T Cache Cache Cache L2-Cache Cluster Cluster Cluster ~100T Image Server Image Server Application Cluster Cluster ~300 Servers Storage 3427T Used / TFS TFS Cluster Cluster 5750T Deployed 4
  • 5. 淘宝CDN当前规模 • 覆盖国内 所有主流 运营商 • 103个节 点 • 单节点服 务能力 >10Gbps • 重服务能力大于1000G • 双11时峰值流量到820G
  • 7. 2007年之前的图片存储系统 Upload Server Admin Server Image Server 滨江联通备份中心 SnapVault 远程数据冗灾 SnapMirror SnapMirror NearStore R200 DR: A+B+C+D SnapShot SnapShot SnapShot SnapShot FAS980C FAS980C A: Online Image C: Online Image D: Online Image B: Online Image 注:红框中设备是2006年的新增设备, 杭州网通 IDC 明年还得在原有的 NetApp 980C/R200 7 存储上增加 20TB 左右新的硬盘容量。
  • 8. 商用产品无法满足需求 • 系统需求  淘宝的影响越来越大,数据的安全也更加重要  数据存储量以每年二倍的速度增长(即原来的三倍) • 商用存储产品  对小文件的存储无法优化  文件数量大,网络存储设备无法支撑  连接的服务器越来越多,网络连接数已经到达了网络存储设 备的极限  扩容成本高,10T的存储容量需要几百万¥  单点,容灾和安全性无法得到很好的保证 8
  • 9. TFS 1.0 • 2007年6月 淘宝自主开发的分布式的文件系统 TFS(Taobao File System)1.0上线运行 主要解决海量小文件的分布式存储 集群规模:200台PC Server(146G*6 SAS 15K Raid5) 文件数量: 亿级别 系统部署存储容量: 140 TB 实际使用存储容量: 50 TB 单台支持随机IOPS 200+,流量3MBps 9
  • 11. TFS1.0的特性 • 集群由一对Name Server和多台Data Server构成 • Data Server运行在挂很多硬盘的Linux主机上 • 以block文件的形式存放数据文件(一般64M一个 block) • 文件名内置元数据信息,用户自己保存TFS文件名与 实际文件的对照关系 – 使得元数据量特别小 • 如T2auNFXXBaXXXXXXXX_!!140680281.jpg,名字中含有 逻辑的block_no和object_no等 • block存多份保证数据安全 • 利用ext3文件系统存放数据文件 • 磁盘raid5做数据冗余 11
  • 12. TFS 1.3 • 2009年6月 TFS(Taobao File System)1.3上线运行 • 集群规模(2010.8.22)  440台PC Server (300G*12 SAS 15K RPM) + 30台PC Server (600G*12 SAS 15K RPM)  文件数量: 百亿级别  系统部署存储容量: 1800 TB  当前实际存储容量: 995TB  单台Data Server支持随机IOPS 900+,流量15MB+  目前Name Server运行的物理内存是217MB(服务器 使用千兆网卡) 12
  • 13. TFS1.3的逻辑结构 Application/Client Mysql Dup Store filename crc,size refcount Data block id, file id/ NameServer NameServer allocate HA heartbeat dataserver id (block id, file id) heartbeat message control message heartbeat message DataServer DataServer dsp1 dsp2 dsp3 dsp1 dsp2 dsp3 hda hda hda hda hda hda 13
  • 14. TFS1.3的特性 • TFS1.3提供了一些重要的功能特性  所有的元数据全部都内存化  清理磁盘空洞  容量和负载的均衡策略  平滑的扩容  数据安全性的冗余保证  几秒内完成Name Server故障自动切换  容灾策略  性能大幅提升 14
  • 15. TFS的发展 • TFS在2010年9月开源,希望更多人来使用和改进 • TFS 2.0已经在生产系统中使用 –支持大文件存储 –在外围通过MySQL向应用提供目录支持 –加入资源中心,控制集群级别的权限 • 后续开发 –优化性能,提高扩展性,降低存储成本 –分级存储机制(SSD/SATA),动态文件迁移 –RAID或Erasure Code等 15
  • 17. 淘宝CDN系统的研发 • 主要解决现有的问题 –商用产品的性能瓶颈、功能欠缺,以及不稳定性 –整个系统的规模、性能、可用性和可管理性 • 开发完全自主的CDN系统 –CDN节点的新架构和优化 –CDN监控平台 –全局流量调度系统支持基于节点负载状态调度和基于 链路状态调度 –CDN实时图片删除 –CDN访问日志过滤系统 –配置管理平台 17
  • 18. CDN节点的架构对比-老架构 client VIP1 VIP2 NetScaler(7LB) NetScaler(7LB) 频道1 频道2 频道 … 频道n squid squid squid … squid 18 源站
  • 19. CDN节点的架构对比-新架构 client VIP1 VIP2 心跳 LVS(L4) LVS (L4) Haproxy(L7) haproxy(L7) Haproxy(L7) 所有频道统一调度 squid squid squid … squid 源站 19
  • 20. CDN节点的架构对比 对比项 节点 新架构 老架构 流量分布均匀性 ☆☆☆☆☆ ☆☆☆ 可维护性 ☆☆☆ ☆☆☆ 抗攻击能力 ☆☆☆☆ ☆☆☆☆ 自主控制能力 ☆☆☆☆☆ ☆☆☆ 价格 ☆☆☆☆☆ ☆☆☆ 扩展能力 ☆☆☆☆☆ ☆☆ 灵活性 ☆☆☆☆☆ ☆☆ •流量分布均匀性:所有的频道统一调度到128台squid,而不是将squid按频 道分组,可提高命中率2%以上 •扩展能力:在一个VIP上新架构可以扩展到近100G的流量(当然要用万兆 网卡) •灵活性:一致性Hash调度方法使得增加和删除服务器非常方便,只有 1/(n+1)的对象需要迁移
  • 21. Squid改进和优化 • 在COSS存储系统基础上实现了TCOSS,FIFO加上按一 定比例保留热点对象,支持1T大小的文件 • Squid内存优化,一台Squid服务器若有一千万对象, 大约节省1250M内存,更多的内存可以用作memory cache • 用sendfile来发送缓存在硬盘上的对象,加上page cache,充分利用操作系统的特性 • 针对SSD硬盘,可以采用DIRECT_IO方式访问,将内存 省给SAS/SATA硬盘做page cache • IO优化到平均一个请求需要做约0.9个IO操作 • 在Squid服务器上使用SSD+SAS+SATA混合存储,实现 了类似GDSF算法,图片随着热点变化而迁移 21
  • 22. 热点迁移的数据对比(1) • 简单按对象大小划分:小的进SSD,中的放SAS,大的 存SATA • SSD + 4 * SAS + SATA上的访问负载如下: [root@cache161 ~]# iostat -x -k 60 | egrep -v -e “sd.[1-9]” … avg-cpu: %user %nice %system %iowait %steal %idle 3.15 0.00 5.63 11.35 0.00 79.87 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 15.40 1.17 50.66 2.63 2673.22 124.85 105.01 0.55 10.39 6.27 33.41 sdb 0.07 0.03 447.29 1.02 4359.01 191.90 20.30 0.32 0.71 0.27 12.13 sdc 5.73 1.53 114.93 8.42 1264.86 100.58 22.14 1.05 8.48 3.56 43.94 sdd 5.57 2.07 121.83 9.57 1319.45 104.12 21.67 1.19 9.02 3.63 47.72 sde 5.53 1.45 111.45 8.52 1246.53 101.92 22.48 0.95 7.88 3.42 41.06 sdf 5.45 2.02 118.93 8.00 1281.92 106.25 21.87 1.19 9.37 3.74 47.44 其中:黑色为SATA,绿色为SSD,红色为SAS 4块SAS硬盘上的访问量和超过SSD硬盘上的访问量 22
  • 23. 热点迁移的数据对比(2) • 按对象访问热点进行迁移:最热的进SSD,中等热度 的放SAS,轻热度的存SATA • SSD + 4 * SAS + SATA上的访问负载如下: [root@cache161 ~]# iostat -x -k 60 | egrep -v -e “sd.[1-9]” … avg-cpu: %user %nice %system %iowait %steal %idle 3.15 0.00 5.63 11.35 0.00 79.87 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util sda 5.08 1.65 18.55 2.52 1210.07 119.00 126.18 0.14 6.50 5.46 11.51 sdb 1.68 0.05 610.53 1.75 6962.29 413.47 24.09 0.28 0.46 0.23 14.25 sdc 0.22 0.03 28.87 0.97 1172.93 189.13 91.31 0.16 5.28 4.40 13.13 sdd 0.23 0.02 29.70 0.77 1133.47 122.53 82.45 0.15 4.99 4.39 13.37 sde 0.18 0.03 28.23 1.03 1078.73 206.27 87.81 0.15 5.00 4.24 12.40 sdf 0.10 0.02 28.42 0.55 1090.27 115.00 83.22 0.15 5.04 4.44 12.86 其中:黑色为SATA,绿色为SSD,红色为SAS SSD硬盘上的访问量是4块SAS硬盘上访问量之和的5倍以上,SAS和SATA 的硬盘利用率低了很多 23
  • 24. 淘宝CDN系统 • CDN服务的图片规模 –约800T容量的原图 + 800T容量的缩略图 –约880亿左右的图片数,平均图片大小约为18K • CDN部署规模 –103个节点,每个节点目前处理能力在10G或以上 –CDN部署的总处理能力已到1000G以上 –目前承载淘宝流量高峰时820G,含集团子公司的流量 • CDN功能 –支持图片、视频和静态数据;支持动态页面加速 –L1-Cache字节命中率为96~98%,L2-Cache的为70~80% ,大大改善用户的访问体验,节约回源带宽 –针对教育网的CDN部署优化:BGP解决LDNS乱设问题 24
  • 25. CDN系统的发展 • CDN系统的研发与运维 –持续提高节点性能(应用软件、操作系统等) –优化GTM全局调度系统 –节点间应用级路由 –持续提高CDN系统可运维性,完善CDN内容管理系统 • CDN系统的建设 –思路正在转向“部署更多的小节点,尽可能离用户近 一些” –定制化和快速部署 25
  • 26. 低功耗硬件平台 • 低功耗硬件平台 –低功耗的CPU,如Intel ATOM, VIA Nano等 –低功耗的Chipset;SSD或低功耗的SATA硬盘 –关闭GPU和USB Controller等 • 适用不需要太多CPU计算的I/O类型应用 –例如CDN Cache Server、memory cache、存储节点、 静态文件Web Server等 • 好处(大大降低成本): –降低电力消耗,减少碳排放 –单位空间(机柜)下有更高的I/O吞吐率 –降低硬件购置成本和运营成本 26
  • 27. 定制的低功耗服务器 • 每个热插拔模块2个nodes • 每个NODES 3块硬盘 • 支持 24 x 2.5” SATA/SSD • 选择2U 8 nodes 的原因: – SuperServer: 2U 8 nodes 支持热插拔设 计。 (背面) – 降低功耗(2U 8nodes 共享4个系统FAN) – 成本更低(8nodes共享1个机箱,1u 4nodes 共享1个机箱) – 2U TWIN机箱和所使用的主板是成熟产品 • 单服务器配置: – Intel® Atom™ D525 with 2 cores – Intel® ICH9R Chipset 一个板卡集成两个服务器系统 – 4GB memory DDR23 800MHZ SO- DIMM w/o ECC – LAN: Intel 82574L 2*1GB – HDD: • 1* SSD 80G , • 2* 2.5” SATA 500GB (正面,24个可插拔硬盘)
  • 30. 基础设施服务 • 在技术平台上提供存储、计算、传输等三大类基 础设施服务 –如CDN平台、对象存储服务、MySQL平台、虚拟化平 台、即时通讯平台、图像搜索平台等 –稳定性、性能、成本是三大衡量指标,不断深入优化 • 以淘宝为渠道发展电子商务基础设施服务 –图片空间+CDN(未来的多媒体平台) –TOP开放平台基础设施服务 –面向店铺自由定制的TAE服务 30
  • 32. 经验 • 商用软件不能满足大规模系统的需求 • 采用开源软件与自主开发相结合,有更好的可控 性,更高的可扩展性 • 规模效应,研发投入都是值得的 • 在软件和硬件多个层次 优化,优化是长期持续 的过程 • 先平台后业务 vs 先业务 后平台,后者更顺 –发挥边际效应,提高资源 利用率 32