淘宝海量图片存储与CDN系统升级:TFS与架构挑战

3星 · 超过75%的资源 需积分: 10 30 下载量 74 浏览量 更新于2024-07-30 收藏 1.09MB PDF 举报
在2010年的系统架构师大会上,淘宝分享了其针对海量图片存储与CDN系统的深入探讨。演讲者章文嵩来自淘宝核心系统部,讲述了他们面临的挑战和解决方案。系统的关键组成部分包括: 1. **系统全貌**: 淘宝的图片存储与CDN系统是一个高度扩展和冗余的架构,涉及全球负载均衡、多层缓存(L1和L2)、以及应用、存储和图片服务器的集群。该系统部署了约40T的存储空间和超过200台服务器,已使用的容量达到995T,而计划部署的容量为1800T。 2. **Taobao图片存储系统--TFS (Taobao File System)**: TFS是淘宝自主研发的文件存储系统,针对淘宝快速增长的数据量(每年翻倍),商用存储产品的不足(如无法优化小文件存储、网络连接限制和高扩容成本)提出了定制化的解决方案。TFS 1.0版本于2007年6月推出,旨在解决数据安全、扩展性和成本问题。 3. **ImageServer与Cache**: ImageServer负责实际的图片存储和处理,同时利用多层次的缓存技术(可能是Redis或Memcached等)来提高访问速度,降低对主存储的压力。通过分布式缓存设计,能够显著提升系统的响应时间和可用性。 4. **CDN系统**: 内容分发网络(CDN)被用来加速图片的全球访问,通过将静态内容复制到多个地理位置的边缘节点,减少了延迟并分散了流量压力。这有助于提高用户体验并降低服务器负载。 5. **低功耗服务器平台**: 针对能源效率和环保,淘宝采用了低功耗服务器,这表明他们在设计时考虑到了绿色IT和运营成本。 6. **系统升级与扩展**: 2007年前的存储系统依赖于NetApp FAS980C和NearStore R200等商业产品,随着业务发展,他们面临存储容量瓶颈。为应对这一挑战,计划在2008年继续扩展存储系统,增加20TB的新硬盘,同时保持对网络存储设备的升级和冗余策略。 7. **灾备与安全性**: 系统设计重视数据的安全,采用远程数据冗余(如SnapVault和SnapMirror)以及多重灾难恢复策略(DR:A+B+C+D),确保即使在单点故障情况下也能维持服务运行。 总结来说,淘宝的海量图片存储与CDN系统是一个高度复杂且持续发展的架构,它结合了自主研发的存储系统、多层次缓存、CDN以及高效的服务器和灾备策略,以应对电子商务场景下快速增长的数据需求和安全性挑战。这个案例展示了如何在面对业务增长和技术演进时,企业如何进行系统架构设计和优化。