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