这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
抖音背后存储需求
分布式存储选型
分布式文件系统
- 存储量
- 支持PB->EB海量存储
- 文件数量受Name Node限
- 易用性
- 伪Posix文件接口,开发略复杂
- 非云原生,搭建维护较麻烦
- 视频/图片相关生态接入略复杂
- 价格
- 使用普通X86服务器,成本低
对象存储TOS
- 存储量
- 支持>EB海量存储
- 对象数量无限制
- 易用性
- Restful HTTP接口,开发极简单
- 云原生,按需申请使用
- 视频/图片相关生态丰富
- 价格
- 使用普通X86服务器
- 具备冷热数据分级存储能力,成本更低
相关概念
- Bucket/Object语义
- Bucket:存储对象的桶,可类比一个云上的Map
- Object:对象,包含如下三个部分
- Key:对象的名字,可类比Map的Key
- Data:对象的内容,例如视频/图片内容
- MetaData:对象的一些元信息,如对象大小,对象Content-Type,也可以存储自定义元信息
- HTTP接口
- 任何时间、任何地点、任何互联网设备上传和下载数据
- 支持HTTP协议的各种客户端都可访问
- 接口速览
- GET:下载对象
- HEAD:查看对象元信息
- PUT:上传对象
- DELETE:删除对象
- ……
使用方法
- 申请 Bucket
- 使用Restful接口
- MultiUpload 接口
- Listprefix接口
自研对象存储
- 三层架构
- 可扩展性
- Partition
- Partition
- 持久度
- Replication
- Replication
- 成本
- EC
- 温冷转换
- EC
- 架构细化
- 高可用
- 一个集群拆分成多个集群,有效降低爆炸半径
- 镜像灾备
- 一个集群拆分成多个集群,有效降低爆炸半径