对象存储 | 青训营

107 阅读2分钟
  1. 短视频架构 image.png
    • 细分 用户上传(需要存) 抽帧审核(需要存帧图片) 转码(存多个码率)
    • 大量的数据 要求 易用 海量 便宜
  2. 为什么四种选择了对象存储
    • 分布式数据库 是条数多 而不是数据大(占用空间大的意思)
    • 分布式存储可用数据大 图片 视频等
    • HDFS(PB--->EB) vs TOS(EB--->ZB)
    • image.png
    • 易用性
      • HDFS需要自己的客户端 接口多且复杂 私有协议走TCP
      • 走HTTP 访问简单 Bucket Object 接口简单
  3. 对象存储怎么用
    • 申请Bucket -> 业务逻辑开发 -> 上线测试
    • Restful接口image.png
    • MultiUpload接口 解决大文件问题image.png
    • Listprefix接口 image.png
  4. TOS字节内部实践
    • 开发一个自己的对象存储
      • 接入层--接入解析并处理接口请求
      • 元信息层--存储对象元信息
      • 存储引擎层--存储对象内容
    • 可扩展性很重要 也就是分布式 分布式就得考虑负载均衡
      • 分区逻辑 Hash/Range
      • 数据量增加:扩容及其新建Partition
      • 改变新的分区逻辑
      • 思考:---待办
      • Hash/Range优劣
      • 各个分区怎么实现负载均衡
    • 持久度----Replication
      • 数据复制多份
        • 多机架 多机房 多region
      • 好处:
        • 高持久度:不丢数据
        • 强吞吐能力:多个副本可以提供服务
      • 思考:---待办
      • Replication的拷贝方式
      • Replication如何解决一致性问题
    • 成本解法
      • 法一:冗余编码 Reasure Coding
      • 增加了额外计算 但降低了存储成本
      • 思考:---待办
      • 当前的EC编码算法有哪些
      • 多机房的EC如何实现
      • 法二:冷热转换
      • 把冷数据转移到性能更低成本更低的存储设备
    • 架构细化image.png
    • 可用性
      • 一个集群拆到多个集群 降低爆炸半径
      • 镜像灾备 主备两个Bucket 增量双向同步
  • 作业 ppt后 实现一个对象存储的客户端 待办