Netflix 近日详细披露了其全球直播流媒体平台的架构,阐述了其如何构建基于云的采集管道、定制的直播源系统、通过 Open Connect 扩展的交付层,以及为百万级观众的大型直播活动提供支持的实时推荐系统。这个分为三部分的“Behind the Streams”博客系列,描述了超过三年的工作,旨在将直播从早期实验转变为可靠、低延迟、并与 Netflix 更广泛的播放和个性化系统集成的平台。
云端采集与转码管道
系统的基石是采集与转码管道。Netflix 工程师解释称,公司使用了 AWS MediaConnect 和 MediaLive 等 云原生 服务来接入直播广播信号,并将其转换为适用于其多样化设备生态系统的自适应比特率格式。团队指出,基于软件的转码为活动制作期间的格式、分辨率和编解码器提供了更高的配置灵活性,使得在活动制作期间能够快速迭代,并处理来自全球合作伙伴的各种内容源。
定制的直播打包与源系统
第二个主要部分是定制的直播打包与源层。Netflix 没有依赖第三方打包器,而是构建了一个内部系统,用于准备视频分段、管理加密、生成清单,并将时间关键资产存储在专用的 Live Origin 环境中。据工程师介绍,该系统旨在满足严格的延迟和持久性要求,同时支持多音轨、字幕以及 AVC 和 HEVC 编解码器家族。团队强调,直播源必须在流量高峰期间保持稳定性能,同时每几秒处理数百万次读取请求。
基于 Open Connect 的全球化交付
直播活动的交付扩展了 Open Connect(Netflix 全球内容分发网络)的能力。通过将快速生成的视频分段发布到地理上分散的边缘节点,该平台减轻了中央源站的压力,并为全球观众最小化了延迟。工程师表示,这种方法对于体育赛事和特别活动等需要同步观看体验的场景是必要的,因为即使视频分段的到达时间存在微小差异,也会影响观众的总体体验。
实时推荐的独特挑战
实时内容发现带来了独特挑战,因为传统的推荐系统依赖于预计算和缓存,这对快速变化的直播内容不适用。Netflix 重新设计了其基础设施,使得直播活动能够快速出现在用户界面上,即使是在需求高峰期间。为了保持数百万设备的同步,它采用了两阶段系统:提前预取推荐以分散负载,以及实时广播低基数更新以触发即时缓存更新。这种方法确保了可靠性,避免了“惊群效应”,并能动态适应日程变化。据工程师称,在峰值负载期间,该系统在不到一分钟的时间内就将更新推送到超过 1 亿台设备。
监控与编排
其实时监控结合了 Atlas、Mantis 和 Lumen 等内部工具以及像 Apache Kafka 和 Druid 这样的开源工具,每秒处理多达 3800 万个事件,并在几秒钟内提供关键指标。专用的“控制中心”设施将关键指标集中在一起,供运营团队实时监控活动。
Netflix 的编排系统自动化了采集、编码、打包和源站设置,最大限度地减少了人为错误,并实现了快速响应。跨区域的冗余管道确保了弹性,而控制室则为直播活动提供了实时可见性、故障转移控制和生命周期管理。这种结合优化了资源并简化了运维,为全球数百万观众提供了可靠的高质量体验。
|