7 视频流系统设计

视频流系统设计

设计 Youtube

Scenario

月活跃用户(MAU): 20亿

日活跃用户(DAU): 1.5亿

每天观看视频数量: 50亿

每分钟上传视频时长: 500个小时

用户平均观看时间: 40分钟

Service

  • 上传服务 Upload Service

  • 缩略图服务 Thumb Service

  • 视频服务 VideoService

  • 清晰度服务 QualityService

  • 转码服务 EncodeService

Upload Service

上传视频到分布式文件系统, 推荐选型 HDFS, Minio. 上传视频是需要分块上传, 断点续传, 防止失败后重头开始上传.

视频切片后, 需要计算每一个切片的哈希值. 传输完毕后需要检测哈希值是否一样, 如果不一样说明文件在传输过程中损坏.

这里应该需要设计一个滑动窗口, 来实现控制. 这样也方便并行传输.

Scale

分布式文件系统比较: 不要主动说选择什么. 有很多种类的文件系统, 场景和成本都不一样, 不要主动说选择什么, 因为并不了解.

CDN 作为视频服务的缓存.

posted @ 2023-02-04 10:58  kohn  阅读(65)  评论(0)    收藏  举报