视频的存储和分发是抖音/TikTok的基石。这道题考察候选人对分布式文件系统、跨地域数据复制、CDN集成和海量非结构化数据成本优化的理解,直接对应字节基础架构团队面临的真实工程挑战。
先分析数据特征:视频文件从几MB到几百MB不等,写一次读多次的访问模式,要求高读取吞吐。
设计元数据层:分布式KV存储,映射视频ID到存储位置、编码格式和CDN缓存状态。
讲解存储层:纠删码vs副本复制的权衡、基于访问模式的冷热温分层、跨可用区的数据放置策略。
覆盖服务链路:CDN集成、回源缓存、自适应码率选择和边缘计算转码。
我会设计一个三层架构。元数据服务使用强一致性的分布式KV存储,将视频ID映射到物理存储位置、转码变体和访问统计。存储层对温冷数据使用纠删码(如Reed-Solomon 8+4)来节省成本,热门视频则存放在多副本SSD集群上以保证低延迟读取。数据通过一致性哈希分布到各区域的存储节点上。全球服务依赖多级CDN:边缘节点缓存热门内容,区域中间层吸收缓存未命中,源站从存储层拉取。我会实现基于推荐信号的智能预取——当视频进入排序流水线时就预加载到附近边缘节点。冷门视频迁移到更便宜的对象存储。系统追踪每个视频的访问频次,自动管理分层迁移,目标是活跃内容95%的CDN缓存命中率。
讨论成本优化——字节的规模下存储成本巨大,分层和纠删码至关重要。
提到推荐和存储的联动:根据推荐预测提前预热CDN缓存。
涉及多地域一致性和容灾策略。
纠删码如RS(8,4)可以达到与3副本相近的持久性,但存储开销仅为1.5倍而非3倍。在字节EB级的数据规模下,这意味着巨额的基础设施成本节省,同时仍保持高可用性。
使用分布式转码流水线,上传时生成多种分辨率和编解码器的变体。优先转码主流格式,冷门格式按需转码并缓存结果,利用GPU集群实现并行转码。