刘金明:微信、QQ 都在用的腾讯云 EB 级对象存储架构剖析

阅读数:152 2019 年 10 月 29 日 10:36

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

5 月 23-24 日,以“焕启”为主题的腾讯“云 + 未来”峰会在广州召开,广东省各级政府机构领导、海内外业内学术专家、行业大咖及技术大牛等在现场共议云计算与数字化产业创新发展。

腾讯云存储业务中心副总监 - 刘金明,在云 + 未来峰会上做了主题为《腾讯云 EB 级对象存储架构深度剖析及实践》的分享,以下内容整理自当天演讲。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

关于对象存储,我们先从腾讯存储平台 TFS 开始说起,早在 2016 年腾讯推出了自研的云存储平台 TFS,几年间为相册、QQ、微信、微云、腾讯视频等腾讯内部产品提供了优质的存储服务。

2013 年,腾讯云把存储能力包装之后开始对外开放。

2014 年,腾讯存储突破 500PB,数据量达到万亿级别。

2015 年,引擎升级商用标准化,数据量达到 EB 级别。

2016 年,对存储引擎和架构优化之后,性能得到了更好的提升,同时基于存储之上的智能数据分析也应运而生。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

COS 的产品生态可以分为三层:

最底层为 COS 存储层,提供了多种语言的 SDK 开发包和完全兼容 S3 的 API 供客户使用。

中间的应用接入层为 COS 提供一些高级扩展能力和解决方案,比如图片鉴黄、视频转码等数据处理和识别服务,以及智能安防、大数据、医疗影像等行业解决方案。

最上层为 CDN 加速层,视频、手机应用商店等大流量客户可以选择通过 CDN 加速上传和下载。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

目前 COS 已经在亚洲、欧洲、美洲等全球 13 个园区开放,在世界杯来临之际,俄罗斯园区也即将开放。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

COS 是典型的三层架构:

最上层的网络接入层提供多级 BGP 接入,通过腾讯接入网关 TGW 可以实现智能的负载均衡,同时接入层可以对一些攻击流量进行清洗。

应用接入层无状态管理,集群横向无限扩展。

数据层跨机架跨交换机部署,索引和数据模块 SET 化扩展,冷热数据智能调度。对存储产品来说想让客户放心的将自己的核心数据上云,大家比较关心的问题是什么?

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

无外乎以上的 5 点,服务足够稳定,数据不能丢失足够可靠,数据足够安全,性能足够好,并且价格最低。

总而言之就是物美价廉。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

除了通过常规的单点故障自动剔除、防过载、失败有限重试外,一旦遇到突发事件时,COS 增加了业务突发自动隔离、频控、流控等手段避免雪崩效应,保障系统有效输出,可用性达到 99.95%。

同时对于一些可预见的突发,比如春节期间的微信祝福视频,电商大促的活动等等,可以通过提前评估扩容、热点数据自动分发到大流量平台等技术方案保障业务高可用,当平台资源达到瓶颈时也可以采用将拓展功能屏蔽只保留核心功能的方法进行柔性服务,或者按用户感知度如视频降码率等方法降级服务。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

通过多副本、纠删码,故障快速发现并重建,以及从磁盘到机房多维度进行容灾,使得数据的可靠性达到 11 个 9。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

在安全性方面,COS 打造了从传输、访问、存储全链路安全加密存储。

在最近与腾讯影业的合作探讨中,有两部科幻探索方向的电影作品,一部是陆川导演执导的《两万里计划》,一部是改编自腾讯动漫同名 IP 的《拓星者》。约 2 个小时的电影,前期需要进行数百 T 的图片、视频、音频的素材拍摄,再经过全球多个后期特效优秀团队数月的跨国合作,最终我们才能在大荧幕观赏到这两部作品。

其中,跨国合作涉及的数据传输尤其复杂,过往的合作通常需要专人携带硬盘出差到各国,拷贝数据给当地团队。不仅费时(往往多耗时一个月)、费力、更费心,硬盘丢失、内容泄露等情况屡屡发生。

而通过和 COS 的合作,可以帮助腾讯影业的影视项目实现快速安全的数据存储与传输。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

性能方面,对视频、图片、安装包等不同大小、不同类型的文件采用不同的优化策略。

以上传为例,对于大文件可以采用分块并发上传,小文件通过架构、引擎以及协议栈层面的优化使得访问路径更短,延时更低,同时客户可以选择通过 CDN 就近接入加速上传。

而对于不同的文件类型,比如图片客户可以选择 Guetzli 或者 WebP 等格式,在保证图片视觉质量,不改变分辨率的前提下,生成的图片更小,性能和成本双赢。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

成本方面,除了前面提到的图片、视频等可以采用压缩转码等技术实现成本优化外,COS 本身提供了标准、低频、归档三级存储产品,客户可以按自身的业务特点,选择自己的存储级别,同时可以通过生命周期在不同级别之间灵活的调度数据,在极限情况下,客户的成本可以降低 80%。

在硬件层面,在存储密度和机房功耗方面也在不断的优化。

我们所做的一切优化最终都会通过降价把这个红利让给用户,西南区(成都、重庆)降价 24%,达到全球最低价。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

除了上文提到的几个基本功能以外,腾讯云 COS 也在陆续推出一些高级功能。

生命周期:客户只需在 COS 控制台配置一个规则就可以很方便的让数据在各级存储之间流动和删除。

跨区域复制:既可以通过异地容灾进一步提升可靠性外还可以达到加速的目的,比如之前提到的和腾讯影业的合作可以通过跨区域复制更快的将在海外拍摄的素材同步到国内给后期制作团队使用。

多版本:一方面作为跨区域复制的必选项,保证数据的有序可靠,另外还可以在客户误删除的情况下恢复数据。

标签:可以帮助客户对数据进行分类和处理,现在很多识别场景都需要打标签,比如直播,会有人物、风景、游戏等各种标签,可以通过 COS 的标签服务更好的分类和推荐。另外也可以通过标签对视频的各种码率进行标记,和生命周期一起将标记为原始视频的定期沉降,标记为低码率的视频定期删除。

清单:可以快速的列表,加速大数据分析或对账,客户只需配置一个规则,清单就会定时将列表投递到客户的 bucket。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

在做好平台的同时,COS 也推出了一系列的解决方案。

比如智能安防解决方案可以很好的支撑那些对监控视频有进一步挖掘的客户。网络摄像头的所有视频流上传至 COS,云端闭环推流解码、人脸检测、人脸比对并实时输出对比结果。

原始视频文件在 COS 通过生命周期智能调度,需要远程调取摄像头数据时,只需从 COS 下载相关视频即可。

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析

在大数据方面,客户可以通过 HDFS to COS 的迁移工具很方便的将本地 HDFS 的数据迁移到 COS 上,配合腾讯云大数据套件可以对 COS 中的数据进行实时和离线分析。另外可以利用前文说到的清单和生命周期提升性能并降低成本。

未来腾讯云 COS 会推出更多应用类的解决方案给广大客户。

本文转载自公众号云加社区(ID:QcloudCommunity)。

原文链接:

https://mp.weixin.qq.com/s/z1uEiZxElxosr02_19GNIg

评论

发布