互联网

全面快速第一时间发布互联网行业最新资讯动态,解读国家最新互联网政策,深度报道互联网行业重大事件专题。

Netflix表示Zuul减载系统已能够顺利保障服务器

2020-11-04 16:24:33 阅读数 926 收藏 0

受 COVID-19 全球健康危机的影响,人们留在家中的闲暇时间也相对变长。除了远程办公和在线教育,流媒体平台的带宽也遭到了严峻的考验。 显然,网络拥塞会对在线内容提供商带来极大的挑战。为了减轻服务器端的压力,企业需要找到多种调节后端负载的方法,尤其是以 Netflix 为代表的流媒体服务提供商。

以 Netflix 为例,该公司在今年早些时候部署了一款名叫“Zuul”的负载过滤器,旨在通过实时的优先级排序来动态处理服务器请求,以便后端能够在困难情况下实现“自我修复”。

周一的时候,Netflix 工程师在一篇博客文章中对背后的机理展开了一番详细的解释。由此可知,在实施基于优先级的减载方案时,Netflix 还可努力确保用户的观看体验不受影响。

(图自: Netflix Blog )

去年底的时候,Netflix 曾遭遇过负载拥塞而导致的服务中断。但在引入基于优先级的减载过滤器之后,后端能够更加实时地采取应对措施。

Netflix 将该过滤器简称为“Zuul”,其能够根据用户所需流量的多少、以及借助三个存储桶对服务器请求进行分类(基于非关键 / 节流 / 重要体验而对流量的优先级进行排序)。

所谓非关键项目,包括了日志和后台请求。工程师解释称,其构成了系统吞吐量的很大一部分。即便如此,当服务器负载达到一定阈值时,通常也可以忽略这部分请求。

节流体验主要针对非必须的内容播放(包括停止 / 暂停标记、播放器中的语言选择、以及历史记录查看等),意在改善用户体验。

当后端遇到麻烦时,服务器可能会发出请求,但在大多数情况下,用户几乎都是不会注意到这些项目已丢失的(尤其在观看主要的内容时)。

至于最关键的体验,则涉及最影响用户内容播放的相关流量。如果这些请求尝试失败,视频内容可能会发生报错。

Zuul 过滤器会对这些项目中的每一项进行 1~100 的评分,若后端、甚至 Zuul 本身也出现了问题,过滤器可以果断地限制最低优先级的负载。

至于这套系统的实际表现,Netflix 坦言 2019 年底和 2020 年初发生的服务中断事件对相当大比例的订阅用户都造成了影响。

但在 Zuul 成功部署之后,系统已多次成功介入减载、直到后端保持稳定,期间并没有再发生过服务中断。