使用区分优先级的负载分流法确保Netflix的可靠性
作者 / Manuel Correa,Arthur Gonigberg,Daniel West
译者 / Alpha
原文链接/https://netflixtechblog.com/keeping-netflix-reliable-using-prioritized-load-shedding-6cc827b02f94
对世界各地的司机来说,堵车是最令人沮丧的经历之一 。每个人都缓慢得像是在爬行一样,有时是因为出现了一个小问题,有时则是毫无理由的拥堵 。作为Netflix的工程师,我们一直在不断评估如何重新设计流量管理框架 。如果我们知道每个人行程的紧迫性,就可以有针对性地为他们选择路线,而不是让大家做无谓的等待,这么做的结果会如何呢?
在Netflix的工程设计中,我们的动力是确保Netflix可以在您需要的时候及时出现 。然而,就在去年,我们的系统还很容易受到人们所说的的“交通拥堵”的影响;我们有开关断路器,但没有循序渐进的方式来减轻负载 。为了改善会员的播放体验,我们引入了基于优先级的渐进式减载法 。
下面的动画展示了当后端根据优先级限制流量时,观众体验到的Netflix性能 。当较低优先级的请求被限制时,整个播放体验完整流畅,观众可以尽情享受观看的内容 。接下来让我们深入研究一下我们是如何做到这一点的 。

文章插图
触发失败的诱因有很多,比如客户端行为不当引发的重试风暴、后台服务器规模不足、部署不当、网络故障或云提供商的问题等等 。任何上述原因都可能瞬即给系统造成巨大的载荷,在以前,这些例子中的每一个都会使我们的会员无法播放视频 。为了防止此类突发事件的发生,我们开始着手实现以下目标,使Netflix的服务更具弹性: