QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

作者: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:006379

评论

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

用Python绘制地理图

计算机与AI

Python 绘图

LeetCode题解:22. 括号生成,递归生成同时过滤,JavaScript,详细注释

Lee Chen

大前端 LeetCode

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

Todd-Lee

极客大学架构师训练营

Paxos 的变种(一):Multi-Paxos 是如何劝退大家去选择 Raft 的

多颗糖

分布式 架构师 分布式架构 分布式一致性

大型互联网应用面对的挑战及应对方案和手段

张荣召

系统架构:系统技术挑战与方案

张荣召

week04作业

龙卷风

架构师一期

训练营第四周作业 2

仲夏

极客大学架构师训练营

架构师训练营-week04-作业1

lucian

极客大学架构师训练营

DDIA读书笔记(1)可靠性,可扩展性,可维护性

莫黎

读书笔记

聊聊「测试分工和测试时间」

清菡软件测试

测试

B站真题:如何判断括号是否有效?

王磊

Java 数据结构 算法

理解分布式一致性:Paxos协议之Basic Paxos

程序那些事

raft PAXOS raft协议 paxos协议 Basic paxos

WEEK4 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述

陈勇

架构师训练营第 1 期 - 第四周作业提交

Todd-Lee

极客大学架构师训练营

训练营第四周作业 1

仲夏

极客大学架构师训练营

为什么说 Python 内置函数并不是万能的?

Python猫

Python

互联网架构演化

张荣召

极客时间架构师培训 1 期 - 第 4 周作业

Kaven

区块链助力政府建设高效政务能力

CECBC

区块链 政务

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

吴传禹

极客大学架构师训练营

视读——沟通的艺术,看入人里,看出人外(第四章)

废材姑娘

Spring 事务,你真的用对了吗(上篇)?

废材姑娘

Spring MVC

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

曾彪彪

极客大学架构师训练营

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

曾彪彪

极客大学架构师训练营

week04总结

龙卷风

架构师一期

架构师训练营第四周作业

吴传禹

极客大学架构师训练营

会用Docker的人都别装了,这多简单呐

MySQL从删库到跑路

MySQL Docker Linux yum redhat

WEEK4 学习总结

陈勇

极客大学架构师训练营

架构师作业 - 第四周 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段

袭望

理解分布式一致性:Raft协议

程序那些事

分布式 raft 分布式一致性 raft协议

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