视频流系统设计
设计 Youtube
Scenario
月活跃用户(MAU): 20亿
日活跃用户(DAU): 1.5亿
每天观看视频数量: 50亿
每分钟上传视频时长: 500个小时
用户平均观看时间: 40分钟
Service
-
上传服务 Upload Service
-
缩略图服务 Thumb Service
-
视频服务 VideoService
-
清晰度服务 QualityService
-
转码服务 EncodeService
Upload Service
上传视频到分布式文件系统, 推荐选型 HDFS, Minio. 上传视频是需要分块上传, 断点续传, 防止失败后重头开始上传.
视频切片后, 需要计算每一个切片的哈希值. 传输完毕后需要检测哈希值是否一样, 如果不一样说明文件在传输过程中损坏.
这里应该需要设计一个滑动窗口, 来实现控制. 这样也方便并行传输.
Scale
分布式文件系统比较: 不要主动说选择什么. 有很多种类的文件系统, 场景和成本都不一样, 不要主动说选择什么, 因为并不了解.
CDN 作为视频服务的缓存.
标签:视频,服务,Service,视频流,系统,设计,上传 From: https://www.cnblogs.com/geraldkohn/p/17091104.html