- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文侧重介绍淘宝网后台的图片存储系统架构、包括TFS
集群文件系统,以及前端处理服务器架构。
解决海量并发小文件的系统噩梦
对于淘宝网这类型访问量极高的电子交易网站来说,
对图片系统的要求和日常的照片分享完全不在一个级别。
日常照片分享往往集中在几个有限的亲朋好友之间,访问
量不会特别高,而淘宝网商铺中的商品照片,尤其是热门
商品,图片的访问流量其实是非常大的。而且对于卖家来
说,图片远胜于文字描述,因此卖家也格外看重图片的显
示质量、上传时间、访问速度等等问题。根据淘宝网的流
量分析,整个淘宝网流量中,图片的访问流量会占到90%
以上,而主站的网页则占到不到10%。
淘宝网电子商城首页截图,淘宝网的后端系统上保存着286 亿多个图片文件,淘宝网整体流量中,图片的
访问流量要占到90% 以上。且这些图片平均大小为17.45KB,小于8K 的图片占整体图片数量61%,整体
系统容量的11%
与此同时,这些图片的存储与读取还有一些头疼的要
求:例如,这些图片要求根据不同的应用位置,生成不同
大小规格的缩略图。考虑到多种不同的应用场景以及改版
的可能性,一张原图有可能需要生成20 多个不同尺寸规格
的缩略图。
淘宝整体图片存储系统容量1800TB (1.8PB),已经
占用空间990TB (约1PB)。保存的图片文件数量达到286
亿多个,这些图片文件包括根据原图生成的缩略图。平均
图片大小是17.45K;8K 以下图片占图片数总量的61%,
占存储容量的11%。
这就给淘宝网的系统带来了一个巨大的挑战,众所周
知,对于大多数系统来说,最头疼的就是大规模的小文件
存储与读取,因为磁头需要频繁的寻道和换道,因此在读
取上容易带来较长的延时。在大量高并发访问量的情况下,
简直就是系统的噩梦。
分析自主研发和商用系统的经济效益
淘宝网成立于2003 年,在整个系统的构建和规划上
也做过相当多的尝试和探索。
下图是淘宝网2007 年之前的图片存储系统。淘宝网
之前一直采用的商用存储系统,应用NetApp 公司的文件
存储系统。随着淘宝网的图片文件数量以每年2 倍(即原来
3 倍)的速度增长,淘宝网后端NetApp 公司的存储系统也
从低端到高端不断迁移,直至2006 年,即时是NetApp 公
司最高端的产品也不能满足淘宝网存储的要求。
淘宝网2007 年以前的图片存储系统架构图,由于淘宝网图片速度已每年2 倍的速度增长,商用系统已经
完全不能满足其存储需求,目前淘宝网采用自主研发的TFS 集群文件系统来解决海量小图片的读取和访问
问题。
章文嵩博士在这里总结了几点商用存储系统的局限和
不足:
首先是商用的存储系统没有对小文件存储和读取的环
境进行有针对性的优化;其次,文件数量大,网络存储设
备无法支撑;另外,整个系统所连接的服务器也越来越多,
网络连接数已经到达了网络存储设备的极限。此外,商用
存储系统扩容成本高,10T 的存储容量需要几百万¥,而
且存在单点故障,容灾和安全性无法得到很好的保证。
谈到在商用系统和自主研发之间的经济效益对比,章
文嵩博士列举了以下几点经验:
1. 商用软件很难满足大规模系统的应用需求,无论存
储还是CDN 还是负载均衡,因为在厂商实验室端,很难实
现如此大的数据规模测试。
2. 研发过程中,将开源和自主开发相结合,会有更好
的可控性,系统出问题了,完全可以从底层解决问题,系
统扩展性也更高。
自主研发和采用商用系统的经济效益对比
3. 在一定规模效应基础上,研发的投入都是值得的。
上图是一个自主研发和购买商用系统的投入产出比对比,
实际上,在上图的交叉点左边,购买商用系统都是更加实
际和经济性更好的选择,只有在规模超过交叉点的情况下,
自主研发才能收到较好的经济效果,实际上,规模化达到
如此程度的公司其实并不多,不过淘宝网已经远远超过了
交叉点。
4. 自主研发的系统可在软件和硬件多个层次不断的
优化。
TFS 1.0 版本的集群文件系统
从2006 年开始,淘宝网决定自己开发一套针对海量
小文件存储难题的文件系统,用于解决自身图片存储的难
题。到2007 年6 月,TFS(淘宝文件系统,
文档评论(0)