七、TOS对象存储
1.以抖音对存储功能的需求作为案例来进行分析:
在抖音背后的短视频处理中存在着大量的公共存储需求。当源视频上传之后,会有转码服务,将源视频转为不同码率的视频,这是因为不同客户端能够接受的分辨率是不同的,转码之后也需要存储起来,供后续的客户端拉取;此外还有抽帧服务,将视频抽为不一样的帧,用于审核服务,最后还有推荐服务,将对应的视频推荐出去。
由此可见,抖音背后需要的存储量是巨大的,因此需要一个简单易用、存储海量且价格便宜的存储
通过比较我们就发现了,分布式存储的设计就是针对的海量存储场景,能够存储海量的大数据,并且其中的对象存储TOS就满足了我们之前所说的所有需求,也就引出本章的主要对象。TOS对象存储
2.TOS对象存储简介:
对象存储是一种数据存储模型,用于存储和检索大量非结构化数据,如图像、视频、文档、日志等。与传统的文件系统和块存储不同,对象存储以对象为基本单位,每个对象都有一个唯一的标识符(通常是一个URL或键),并包含数据本身以及与之关联的元数据(如文件大小、创建日期、文件类型等)。
TOS对象存储提供了可扩展、高可用、耐久性强的存储解决方案,适用于各种规模的应用和场景。
3.对象存储的使用方法:
三步走:申请Bucket -> 业务逻辑开发 -> 上线测试
申请Bucket:
要开启开发,对象存储对外提供的一般都是Restful风格的接口。
比如说有MultiUpload接口、Listprefix接口。
4.自研存储对象:
经典三层架构:
接入层:接入解析并处理接口请求;
元信息层:存储对象元信息;
存储引擎层:存储对象内容。
5.思考:实际操作TOS对象存储并记录流程:
-
创建存储桶(Bucket) :
- 在控制台中,导航到TOS对象存储服务。
- 点击“存储桶管理”或类似的选项。
- 选择“创建存储桶”,然后按照提示填写存储桶名称、地域、访问权限等信息。
-
上传对象(文件) :
- 在创建存储桶后,可以点击存储桶名称,进入存储桶详情页面。
- 在页面上方可以找到“上传对象”或类似选项,点击后可以上传文件到存储桶。
-
访问对象:
- 每个上传的对象都有一个唯一的URL或者键,可以通过这个键来访问对象。
- 对象可以通过HTTP/HTTPS访问,也可以设置CDN加速。
-
管理对象:
- 可以在存储桶管理界面对对象进行管理,包括查看、下载、删除等操作。
- 可以设置对象的访问权限,决定谁可以访问或修改对象。
-
SDK和API访问:
- 腾讯云提供各种编程语言的SDK(如Java、Python、Node.js等)和API,使你能够通过编程方式访问和操作对象存储。
-
数据冗余和备份:
- TOS会自动在后台处理数据的冗余备份,以提供数据的持久性和可靠性。
-
扩展和管理:
- 可以根据需求扩展存储容量,管理存储桶和对象,以及设置存储桶的属性和访问权限。