写点什么

奈飞推出服务级别优先级负载削减以提高弹性

作者:Rafal Gancarz

  • 2024-12-17
    北京
  • 本文字数:1180 字

    阅读完需:约 4 分钟

奈飞推出服务级别优先级负载削减以提高弹性

奈飞(Netflix)将其优先级负载削减实施扩展到了单个服务级别,进一步提高了系统弹性。该方法通过仅在必要时释放低优先级的请求,而无需维护单独的集群进行故障隔离,从而更有效地利用了云容量。


该公司之前在 API 网关级别部署了负载削减策略,但最终决定使服务所有者能够在服务级别实现其优先级逻辑,重点关注视频流控制平面和数据平面。奈飞(Netflix)根据 API 请求的重要程度将其分为两类。用户发起的请求被认为是至关重要的,因为如果不处理这些请求会影响用户体验。另一方面,浏览器或应用程序预测用户意图而发出的预取请求被认为是不那么重要的,可以丢弃,并且不会对用户体验产生太大的影响。


之前的解决方案并没有区分是用户发起的请求还是预取请求,在流量激增的情况下,这两种请求的可用性都会降低。奈飞(Netflix)曾考虑将不同的请求类别分到单独的集群,但由于较高的计算成本和额外的运营开销,决定不采用这种方法。



具有优先级负载削减的单集群


相反,该公司在其 Play API 中实施了并发限制器,使用开源的 Java 库将用户发起的请求优先于预取请求。限制器被配置为预处理 Servlet 过滤器,使用设备发送的 HTTP 头,而无需解析请求体。


在部署更改几个月之后,一次基础设施的中断导致了安卓设备的预取请求堆积如山,负责该解决方案的团队观察到了他们在防止二次中断方面所做的努力。限制器将预取请求的可用性降至 20%,而用户初始化请求的可用率仍然很高,超过 99.4%。



预取和用户初始化请求的可用性


在推出 Play API 的负载削减后,该团队创建了一个通用的内部库,使服务所有者能够使用多个优先级(关键、降级、最佳、批量)级别来配置优先级逻辑。服务可以使用上游客户端的优先级,也可以将传入请求映射到预配置的某个优先级级别上。


奈飞(Netflix)的资深软件工程师、博客文章的合著者 Anirudh Mendiratta 解释了服务级负载削减解决方案是如何配合基于 CPU 的自动伸缩一起工作的:


奈飞(Netflix)的大多数服务都会根据 CPU 利用率自动伸缩,因此将其与优先级负载削减框架结合起来是一种自然的系统负载度量标准。一旦请求被映射到优先级桶中,服务就可以根据 CPU 利用率确定何时从特定桶中削减流量。为了保持向自动伸缩发出所需要的伸缩信号,优先级削减仅在达到目标 CPU 利用率后才开始削减负载,并且随着系统负载的增加,将逐步削减更多关键流量,以保持用户体验。


该团队进行了一系列实验,通过生成超过自动缩放量六倍的负载配置文件来测试负载削减。正如预期的那样,限制器首先丢弃了非关键请求,然后关键请求和延迟仍保持在可接受的范围内。



基于 CPU 的负载削减行为


此外,工程师还通过添加基于延迟的削减,扩展了库,使其适用于 IO 绑定的服务。基于延迟度量的 IO 绑定工作负载的削减行为在已与 CDN 基础设施一起使用的内容源服务上成功地进行了测试。


原文链接:

https://www.infoq.com/news/2024/11/netflix-load-shedding/

2024-12-17 08:005776

评论

发布
暂无评论
发现更多内容

架构师训练营第三周作业

Sandman

第三章总结

孤星

架构师训练营 Week7 - 课后作业

压测 极客大学架构师训练营 LoadRunner

架构师训练营 Week7 - 性能优化 - 性能指标,分层,锁

极客大学架构师训练营

Week3总结

lggl

作业

Web 性能压测工具

A p7+

架构师训练营 - 第七周作业

一个节点

极客大学架构师训练营

第三章学习笔记

博博

第三章课后作业

博博

架构师训练营1期 第七周总结

谭明华

第三周作业

孤星

把打胜仗的决心作为信仰

吴晨曦

创业

作业-第3周总结

arcyao

架构师训练营1期 第七周作业

谭明华

极客大学架构师训练营

架构师训练营第 1 期第七周总结

Leo乐

极客大学架构师训练营

极客大学架构师课程-第三周-作业

井中人

极客大学架构师训练营

Week3 作业

lggl

作业

iOS性能优化 — 四、内存泄露检测

iOSer

ios 性能优化 编程语言 ios开发 内存泄露检测

架构师系列之4 手写单例

桃花原记

第七周作业

icydolphin

极客大学架构师训练营

架构师训练营 作业3

Arthur

极客大学架构师训练营

架构师训练营第 1 期第七周作业

Leo乐

极客大学架构师训练营

架构师训练营 - 第七周总结

一个节点

极客大学架构师训练营

Navicat无法连接MySQL怎么办?

MySQL从删库到跑路

MySQL navicat 3306端口

2020.11.02-2020.11.08 学习总结

icydolphin

极客大学架构师训练营

架构师训练营 总结3

Arthur

极客大学架构师训练营

Week3- 面向对象的设计模式(作业二)

Sean Chen

架构师训练营第七周学习总结

Gosling

极客大学架构师训练营

第七周学习性能优化1 总结

三板斧

Week3-面向对象的设计模式(作业一)

Sean Chen

第七周

Geek_fabd84

奈飞推出服务级别优先级负载削减以提高弹性_云计算_InfoQ精选文章