TOS对象存储 | 青训营笔记

145 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第3篇笔记

为什么需要对象存储

  • 抖音作为现象级的短视频软件,每一分每一秒都在产生大量数据,对数据存储容量大小是以PB乃至EB为计的
  • 传统的分布式文件系统对视频,图片等资源支持较差
  • 传统分布式文件系统开发,维护较繁杂

TOS的优势

  • 海量: 支持>EB海量存储 对象数量无限制
  • 易用: Restful HTTP接口,开发极简单

云原生,按需申请使用 视频/图片相关生态丰富

  • 便宜: 使用普通X86服务器 具备冷热数据分级存储能力,成本更低

适用场景

视频、图片、文本、安装包、备份...

静态数据

TOS字节内部实践

分布式存储=分布式+蛋鸡存储

  • 存储均匀分布
  • 计算均匀分布
  • 压力均匀分布

分布式系统相当于一个蜂群,每个节点负责一小部分数据存储和计算。

  • hash/range方式的优劣比较?
  • 各Partition如何进行负载均衡

持久度之Replication

数据复制多份,多个副本。 副本放置策略

  • 多机架
  • 多机房
  • 多Region

实现高持久度和强吞吐能力。

  • Replication的拷贝方式?
  • Replication如何解决一致性问题?

成本解法

Ensure Coding

分割原始数据,计算parity,推断节点宕机并替换

  • 冗余编码
  • 冗余降低
  • 额外计算:额外推导宕机节点

那么

  • 当前的EC编码算法有哪些?
  • 多机房的EC如何实现?

温冷计算

对于不同需求量的数据使用不同的介质存储

架构细化

  • Lifecycle: 温冷转换后台服务
  • API: 接入层(stateless
  • GC:垃圾回收
  • Bucket Meta:(stateless
  • Object Meta(stateless
  • Storage Engine:对象内容存取任务

高可用解法之拆分降低爆炸半径

首先的方法就是一个集群拆分成多个集群,降低爆炸半径 使用完全镜像的主备bucket,出现问题可以随时切换

未来展望

  • 容量治理。处理数据大爆炸
  • 成本优化
  • 大数据生态
  • 稳定性提升