CPU 过载保护设计:如何在服务层面确保系统稳定?
24-05-24 10:10
1386
0
过载保护
假设一种场景,我们去银行办事,大家都知道需要拿号排队,银行每 10 分钟处理 1 个人的业务,而每 10 分钟会进来 2 个人,这样每 10 分钟就会积压一个用户,然后偶数进来的用户还需要多等 10 分钟,从而就会导致每个人的等待时长是 ((n + 1) / 2 - 1 + (n + 1) % 2) * 10。
其中变量 n 为第几个进来的用户。随着 n 越大,等待的时间就越长,如果没有及时制止,银行将永远都是饱和状态。长时间饱和工作状态,银行人员将会很辛苦,从而无法更好服务用户。一般情况下,在银行都会有一定的取号上限或者保安会提示无法再服务了,这就是一个过载的保护,避免因事务积压,导致系统无法提供更好的服务。
以上是一个简单的例子,接下来我们从技术层面介绍过载保护概念,而由于 Node.js 最大的性能损耗又在于 CPU,因此又需要进一步了解什么是 CPU 的过载保护。
1.什么是过载保护
这个词最早出现是在电路方面,在出现短路或者电压承载过大时,会触发电源的过载保护设备,该设备要不熔断、要不跳闸切断电源。
在服务端也是相似的原理,首先我们需要设计一个过载保护的服务,在过载触发时,切断用户服务直接返回报错,在压力恢复时,正常响应用户请求。
2.CPU 过载保护
在 Node.js 中最大的瓶颈在于 CPU,因此我们需要针对 CPU 的过载进行保护。当 CPU 使用率超出一定范围时,进行请求熔断处理,直接报错返回,接下来我们来看下具体的实现原理。
-
可复制的特殊符号大全
热门符号ღ•⁂€™↑→↓⇝√∞░▲▶◀●☀☁☂☃☄★☆☉☐☑☎☚☛☜☝☞☟☠☢☣☪☮☯☸☹☺☻☼☽☾♔♕♖♗♘♚♛♜♝♞♟♡♨♩♪... 708 0 25-02-20 -
释放内存,提升浏览器页面性能
探讨 JS 引擎相关的内容。这个模块是整个课程的最后一个模块,主要围绕 JS 引擎相关的知识来讲解,让你深入了解其底层运行逻辑。这对于... 1096 0 24-05-24 -
屏幕吸色器 - 最小最好用的颜色识别软件
屏幕吸色器绿色版是一款非常好用的色只提取的软件。我们这款软件可以让您在您电脑上提取任何一种您用得到的颜色,并且将其转换为编程使用的... 502 0 21-07-06 -
MongoDB权威指南
本书的组织结构本书分为六个部分,涵盖了开发、管理以及部署的方方面面。熟悉MongoDB第1章将简要讲述MongoDB的背景:项目创立原因,希望达... 873 0 24-05-24 -
心理学历年真题合集
2007年全国硕士研究生入学统一考试心理学专业基础综合试题.pdf2008年全国硕士研究生入学统一考试心理学专业基础综合试题.pdf2009年全国硕士... 976 0 24-08-20 -
在线小工具箱引流网站源码
在线工具箱源码+多款有趣的在线工具+一键安装 _站长引流_在线工具箱_增加长尾关键词流量站长必备 测试环境:nginx+php5.6+mysql5.5安装... 440 0 21-06-24 -
MikuTools - 一个轻量的工具合集
MikuTools是一个使用Vue全家桶和Nuxt.js构建的工具类网站。它提供了许多有用的工具,例如文本加密、图片处理、常用数据转换等等,二改或者... 1426 0 24-07-22 -
统计思维:程序员数学之概率统计
搞科研的都知道,论文发表情况是评判科研水平的主要指标,而学术期刊的影响因子则代表了期刊的档次,从而也就直接反映了论文的水平。在统计... 1163 0 24-05-24
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~