这是我参与「第三届青训营 -后端场」笔记创作活动的的第5篇笔记
-
抖音背后的存储需求 首先在片源(也就是用户上传视频后)要把原视频存储下来,其次转码之后(根据不同的设备不同分辨率的视频)需要存储,之后再抽帧之后审核之前需要进行存储,总的。需要存储的数据量巨大,因此亟待一种易用、能存储海量数据并且便宜的存储
-
为什么对象存储 综合比较四种存储系统和数据库(单机/分布式),发现分布式存储可以满足短视频场景(单机存储/数据库不支持海量、分布式数据库记录的个数很多,但是单条记录很小)。分布式存储又分为文件系统和对象存储,其中分布式文件系统受到Name Node的限制、非云原生搭建维护都很复杂、视频/图片接入比较复杂,而存储可以处理海量数据、易用并且价格便宜
-
适用场景 适合视频、图片、安装包等静态数据,不适合关系型数据、随机写的场景、append写、更新频繁的数据
-
对象存储怎么用 主要分成三步,首先申请bucket(存储对象的桶,相当于map,根据key可以找到data)、行业务逻辑开发视频上传/下载/删除/查看(通过http再任何时间任何地点任何互联网设备都能下载和上传数据)、最后上线测试
首先是选择支持对象存储的云厂商,比如字节,申请bucket
然后根据对象存储对外提供的都是Restful风格的接口(REST 用来规范应用如何在 HTTP 层与 API 提供方进行数据交互)进行业务逻辑的开发
利用ListPrefix接口查看桶中的对象