TOS对象存储实战 | 青训营笔记

106 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

抖音背后存储需求

image.png

分布式存储选型

分布式文件系统

  • 存储量
    • 支持PB->EB海量存储
    • 文件数量受Name Node限
  • 易用性
    • 伪Posix文件接口,开发略复杂
    • 非云原生,搭建维护较麻烦
    • 视频/图片相关生态接入略复杂
  • 价格
    • 使用普通X86服务器,成本低

对象存储TOS

  • 存储量
    • 支持>EB海量存储
    • 对象数量无限制
  • 易用性
    • Restful HTTP接口,开发极简单
    • 云原生,按需申请使用
    • 视频/图片相关生态丰富
  • 价格
    • 使用普通X86服务器
    • 具备冷热数据分级存储能力,成本更低

相关概念

image.png

  • Bucket/Object语义
    • Bucket:存储对象的桶,可类比一个云上的Map
    • Object:对象,包含如下三个部分
      • Key:对象的名字,可类比Map的Key
      • Data:对象的内容,例如视频/图片内容
      • MetaData:对象的一些元信息,如对象大小,对象Content-Type,也可以存储自定义元信息
  • HTTP接口
    • 任何时间、任何地点、任何互联网设备上传和下载数据
    • 支持HTTP协议的各种客户端都可访问
  • 接口速览
    • GET:下载对象
    • HEAD:查看对象元信息
    • PUT:上传对象
    • DELETE:删除对象
    • ……

使用方法

  1. 申请 Bucket
  2. 使用Restful接口
    • image.png
    • MultiUpload 接口
      • image.png
    • Listprefix接口
      • image.png

自研对象存储

  • 三层架构
    • image.png
  • 可扩展性
    • Partition
      • image.png
      • image.png
  • 持久度
    • Replication
      • image.png
  • 成本
    • EC
      • image.png
    • 温冷转换
      • image.png
  • 架构细化
    • image.png
  • 高可用
    • 一个集群拆分成多个集群,有效降低爆炸半径
      • image.png
    • 镜像灾备
      • image.png