写点什么

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

  • 2019-10-29
  • 本文字数:2495 字

    阅读完需:约 8 分钟

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

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


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



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


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


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


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


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



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


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

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

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



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



COS 是典型的三层架构:


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

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

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



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


总而言之就是物美价廉。



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


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



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



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


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


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


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



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


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


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



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


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


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



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


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


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


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


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


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



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


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


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



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


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


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


原文链接:


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


2019-10-29 10:361954

评论

发布
暂无评论
发现更多内容

前端⼤规模构建演进实践

白玉兰开源

架构 大前端

Golang 对象池

escray

学习 极客时间 Go 语言 4月日更

前端DDD总结与思考

白玉兰开源

大前端 DDD

2020年12月的面试经历:美团4面+字节4面(均已拿offer),面试真题分享

Java架构师迁哥

0门槛成为“技术牛人”!星环科技线上分享课“星课堂”开播,快来报名,一探究竟

星环科技

人工智能 数据库 云计算 大数据 直播技术

软件测试——教育机构课程顾问常见黑话大全

程序员阿沐

程序员 软件测试 教育 机构 教育培训

家务活中的python协程

行者AI

协程 python学习

如何深入的学习C语言

cdhqyj

编程 C语言 计算机 嵌入式

【转载】图形化系统开发组件X-Series(一)——XrossUnit介绍

赫杰辉

Redis的适用场景简单剖析

大数据技术指南

redis 4月日更

一文搞定 Flink Job 的运行过程

shengjk1

flink flink源码 flink源码分析

聪明人的训练(二十二)

Changing Lin

4月日更

Redis为什么是单线程?高并发响应快?

Linux服务器开发

redis Linux服务器开发 网络io C++后端开发 单线程

轻松带你学习java-agent

华为云开发者联盟

Java Trace Java虚拟机 java-agent 挂载

智汇华云 | ArSDN打通软件定义数据中心的“任督二脉”

华云数据

GitHub惊现!JVM G1GC的算法+实现,90张图+33段代码,你的面试专属!

Java架构师迁哥

混搭的美感|靠谱点评

无量靠谱

从源码分析 MySQL 死锁问题入门

比伯

Java 编程 程序员 架构 计算机

华云大咖说 | 华云数据与数科网维携手共建国产云生态

华云数据

一个诡异的MySQL查询超时问题,居然隐藏着存在了两年的BUG

CoderW

Java MySQL 数据库 程序员 互联网

博睿数据携数据链DNA创新理念,闪耀金融科技应用发展研讨会四川站

博睿数据

什么是Selenium?使用Selenium进行自动化测试

码界行者

DevOps selenium

前端规范之路

白玉兰开源

大前端 开发规范

打造创新模型,博睿数据首倡服务可达的数据链DNA

博睿数据

一入爬虫深似海,从此早睡是路人

Thrash

重磅来袭:Spring之RequestBody的使用姿势小结

学Java关注我

Java 编程 架构 技术 程序人生

简简单单才是真,初试 Svelte

LeanCloud

2021年3月券商App行情刷新及交易体验评测报告

博睿数据

知识分享:SQL注入的流程和步骤

Thrash

sql

彻底搞懂ThreadLocal

千珏

Java 源码分析 多线程 ThreadLocal

肝了15000字性能调优系列专题(JVM、MySQL、Nginx and Tomcat),看不完先收藏

北游学Java

Java MySQL nginx tomcat JVM

刘金明:微信、QQ都在用的腾讯云EB级对象存储架构剖析_文化 & 方法_云加社区_InfoQ精选文章