CPU 过载保护设计:如何在服务层面确保系统稳定?
过载保护
假设一种场景,我们去银行办事,大家都知道需要拿号排队,银行每 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 使用率超出一定范围时,进行请求熔断处理,直接报错返回,接下来我们来看下具体的实现原理。
-
Linux Shell脚本攻略
GNU/Linux可谓是一款不同凡响的操作系统,它拥有一个稳定、可靠且极其强大的完备的开发环境。作为与操作系统进行沟通的原生界面(native i... 1233 0 24-05-28 -
考霸刷题宝 会员版
考霸刷题宝VIP版是一款专为考生打造的高效智能学习软件,它集成了众多考试资源和智能练习功能,旨在帮助用户科学安排复习计划,有效提高考... 878 0 25-02-06 -
AI Retouch - 移除杂物APP
AI Retouch是一款强大的图片编辑应用,可帮助您轻松去除照片中的不必要的对象和瑕疵。无论是想要消除照片中的路人,还是想要清除水印、文... 1189 0 24-12-12 -
英二阅读真题精讲_陈志超
英一阅读真题精讲_201434_陈志超.pdf英一阅读真题精讲_202134xin_陈志超_1699512798363.pdf英一阅读真题精讲_202212_陈志超_1699856626239.... 768 0 24-08-20 -
Ant Design Vue 4.0 a-modal弹窗组件封装
父组件(部分)<template> <div> <a-button type="primary" ghost @click="dialogPanelStatus.signIngInfoStatus ... 726 0 25-04-07 -
HTML组织结构图
691 0 21-06-02 -
鲸猫小助手 商品试用信息的辅助工具
鲸猫小助手是用来收集各大电商平台不定时推出的商品试用信息的辅助工具,由该款工具来自动解析并且处理各大站点的最新活动信息,每天定时联... 1069 0 25-03-21 -
考试酷(examcoo)-永久免费的电子作业与在线考试系统云平台
「考试酷」是一个零安装、零维护和零成本的在线考试系统。考试酷网站是由广州创讯软件有限公司开发和运营的一个永久免费的在线考试系统,网... 2918 0 24-08-07
发表我的评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~